locusta 0.1.0
A Framework for Analyzing and Evaluating Evolutionary Algorithms on Parallel Architectures
Loading...
Searching...
No Matches
CMakeCUDACompilerId.cudafe1.cpp
Go to the documentation of this file.
1# 1 "CMakeCUDACompilerId.cu"
2#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
3# 1
4#pragma GCC diagnostic push
5# 1
6#pragma GCC diagnostic ignored "-Wunused-variable"
7# 1
8#pragma GCC diagnostic ignored "-Wunused-function"
9# 1
10static char __nv_inited_managed_rt = 0; static void **__nv_fatbinhandle_for_managed_rt; static void __nv_save_fatbinhandle_for_managed_rt(void **in){__nv_fatbinhandle_for_managed_rt = in;} static char __nv_init_managed_rt_with_module(void **); static inline void __nv_init_managed_rt(void) { __nv_inited_managed_rt = (__nv_inited_managed_rt ? __nv_inited_managed_rt : __nv_init_managed_rt_with_module(__nv_fatbinhandle_for_managed_rt));}
11# 1
12#pragma GCC diagnostic pop
13# 1
14#pragma GCC diagnostic ignored "-Wunused-variable"
15
16# 1
17#define __nv_is_extended_device_lambda_closure_type(X) false
18#define __nv_is_extended_host_device_lambda_closure_type(X) false
19#define __nv_is_extended_device_lambda_with_preserved_return_type(X) false
20#if defined(__nv_is_extended_device_lambda_closure_type) && defined(__nv_is_extended_host_device_lambda_closure_type)&& defined(__nv_is_extended_device_lambda_with_preserved_return_type)
21#endif
22
23# 1
24# 61 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
25#pragma GCC diagnostic push
26# 64
27#pragma GCC diagnostic ignored "-Wunused-function"
28# 31 "/usr/include/x86_64-linux-gnu/bits/types.h" 3
29typedef unsigned char __u_char;
30# 32
31typedef unsigned short __u_short;
32# 33
33typedef unsigned __u_int;
34# 34
35typedef unsigned long __u_long;
36# 37
37typedef signed char __int8_t;
38# 38
39typedef unsigned char __uint8_t;
40# 39
41typedef signed short __int16_t;
42# 40
43typedef unsigned short __uint16_t;
44# 41
45typedef signed int __int32_t;
46# 42
47typedef unsigned __uint32_t;
48# 44
49typedef signed long __int64_t;
50# 45
51typedef unsigned long __uint64_t;
52# 52
54# 53
56# 54
58# 55
60# 56
62# 57
64# 58
66# 59
68# 63
69typedef long __quad_t;
70# 64
71typedef unsigned long __u_quad_t;
72# 72
73typedef long __intmax_t;
74# 73
75typedef unsigned long __uintmax_t;
76# 145 "/usr/include/x86_64-linux-gnu/bits/types.h" 3
77typedef unsigned long __dev_t;
78# 146
79typedef unsigned __uid_t;
80# 147
81typedef unsigned __gid_t;
82# 148
83typedef unsigned long __ino_t;
84# 149
85typedef unsigned long __ino64_t;
86# 150
87typedef unsigned __mode_t;
88# 151
89typedef unsigned long __nlink_t;
90# 152
91typedef long __off_t;
92# 153
93typedef long __off64_t;
94# 154
95typedef int __pid_t;
96# 155
97typedef struct { int __val[2]; } __fsid_t;
98# 156
99typedef long __clock_t;
100# 157
101typedef unsigned long __rlim_t;
102# 158
103typedef unsigned long __rlim64_t;
104# 159
105typedef unsigned __id_t;
106# 160
107typedef long __time_t;
108# 161
109typedef unsigned __useconds_t;
110# 162
111typedef long __suseconds_t;
112# 163
113typedef long __suseconds64_t;
114# 165
115typedef int __daddr_t;
116# 166
117typedef int __key_t;
118# 169
119typedef int __clockid_t;
120# 172
121typedef void *__timer_t;
122# 175
123typedef long __blksize_t;
124# 180
125typedef long __blkcnt_t;
126# 181
127typedef long __blkcnt64_t;
128# 184
129typedef unsigned long __fsblkcnt_t;
130# 185
131typedef unsigned long __fsblkcnt64_t;
132# 188
133typedef unsigned long __fsfilcnt_t;
134# 189
135typedef unsigned long __fsfilcnt64_t;
136# 192
137typedef long __fsword_t;
138# 194
139typedef long __ssize_t;
140# 197
141typedef long __syscall_slong_t;
142# 199
143typedef unsigned long __syscall_ulong_t;
144# 203
146# 204
147typedef char *__caddr_t;
148# 207
149typedef long __intptr_t;
150# 210
151typedef unsigned __socklen_t;
152# 215
153typedef int __sig_atomic_t;
154# 28 "/usr/include/ctype.h" 3
155extern "C" {
156# 47 "/usr/include/ctype.h" 3
157enum {
158# 48
159_ISupper = ((0 < 8) ? (1 << 0) << 8 : ((1 << 0) >> 8)),
160# 49
161_ISlower = ((1 < 8) ? (1 << 1) << 8 : ((1 << 1) >> 8)),
162# 50
163_ISalpha = ((2 < 8) ? (1 << 2) << 8 : ((1 << 2) >> 8)),
164# 51
165_ISdigit = ((3 < 8) ? (1 << 3) << 8 : ((1 << 3) >> 8)),
166# 52
167_ISxdigit = ((4 < 8) ? (1 << 4) << 8 : ((1 << 4) >> 8)),
168# 53
169_ISspace = ((5 < 8) ? (1 << 5) << 8 : ((1 << 5) >> 8)),
170# 54
171_ISprint = ((6 < 8) ? (1 << 6) << 8 : ((1 << 6) >> 8)),
172# 55
173_ISgraph = ((7 < 8) ? (1 << 7) << 8 : ((1 << 7) >> 8)),
174# 56
175_ISblank = ((8 < 8) ? (1 << 8) << 8 : ((1 << 8) >> 8)),
176# 57
178# 58
179_ISpunct = ((10 < 8) ? (1 << 10) << 8 : ((1 << 10) >> 8)),
180# 59
181_ISalnum = ((11 < 8) ? (1 << 11) << 8 : ((1 << 11) >> 8))
182# 60
183};
184# 79 "/usr/include/ctype.h" 3
185extern const unsigned short **__ctype_b_loc() noexcept(true)
186# 80
187 __attribute((const));
188# 81
189extern const __int32_t **__ctype_tolower_loc() noexcept(true)
190# 82
191 __attribute((const));
192# 83
193extern const __int32_t **__ctype_toupper_loc() noexcept(true)
194# 84
195 __attribute((const));
196# 108 "/usr/include/ctype.h" 3
197extern int isalnum(int) noexcept(true);
198# 109
199extern int isalpha(int) noexcept(true);
200# 110
201extern int iscntrl(int) noexcept(true);
202# 111
203extern int isdigit(int) noexcept(true);
204# 112
205extern int islower(int) noexcept(true);
206# 113
207extern int isgraph(int) noexcept(true);
208# 114
209extern int isprint(int) noexcept(true);
210# 115
211extern int ispunct(int) noexcept(true);
212# 116
213extern int isspace(int) noexcept(true);
214# 117
215extern int isupper(int) noexcept(true);
216# 118
217extern int isxdigit(int) noexcept(true);
218# 122
219extern int tolower(int __c) noexcept(true);
220# 125
221extern int toupper(int __c) noexcept(true);
222# 130
223extern int isblank(int) noexcept(true);
224# 135
225extern int isctype(int __c, int __mask) noexcept(true);
226# 142
227extern int isascii(int __c) noexcept(true);
228# 146
229extern int toascii(int __c) noexcept(true);
230# 150
231extern int _toupper(int) noexcept(true);
232# 151
233extern int _tolower(int) noexcept(true);
234# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3
236# 30
237struct __locale_data *__locales[13];
238# 33
239const unsigned short *__ctype_b;
240# 34
241const int *__ctype_tolower;
242# 35
243const int *__ctype_toupper;
244# 38
245const char *__names[13];
246# 39
247};
248# 41
250# 24 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3
252# 251 "/usr/include/ctype.h" 3
253extern int isalnum_l(int, locale_t) noexcept(true);
254# 252
255extern int isalpha_l(int, locale_t) noexcept(true);
256# 253
257extern int iscntrl_l(int, locale_t) noexcept(true);
258# 254
259extern int isdigit_l(int, locale_t) noexcept(true);
260# 255
261extern int islower_l(int, locale_t) noexcept(true);
262# 256
263extern int isgraph_l(int, locale_t) noexcept(true);
264# 257
265extern int isprint_l(int, locale_t) noexcept(true);
266# 258
267extern int ispunct_l(int, locale_t) noexcept(true);
268# 259
269extern int isspace_l(int, locale_t) noexcept(true);
270# 260
271extern int isupper_l(int, locale_t) noexcept(true);
272# 261
273extern int isxdigit_l(int, locale_t) noexcept(true);
274# 263
275extern int isblank_l(int, locale_t) noexcept(true);
276# 267
277extern int __tolower_l(int __c, locale_t __l) noexcept(true);
278# 268
279extern int tolower_l(int __c, locale_t __l) noexcept(true);
280# 271
281extern int __toupper_l(int __c, locale_t __l) noexcept(true);
282# 272
283extern int toupper_l(int __c, locale_t __l) noexcept(true);
284# 327 "/usr/include/ctype.h" 3
285}
286# 68 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_types.h"
287#if 0
288# 68
289enum cudaRoundMode {
290# 70
291cudaRoundNearest,
292# 71
293cudaRoundZero,
294# 72
295cudaRoundPosInf,
296# 73
297cudaRoundMinInf
298# 74
299};
300#endif
301# 104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
302#if 0
303# 104
304struct char1 {
305# 106
306signed char x;
307# 107
308};
309#endif
310# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
311#if 0
312# 109
313struct uchar1 {
314# 111
315unsigned char x;
316# 112
317};
318#endif
319# 115 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
320#if 0
321# 115
322struct __attribute((aligned(2))) char2 {
323# 117
324signed char x, y;
325# 118
326};
327#endif
328# 120 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
329#if 0
330# 120
331struct __attribute((aligned(2))) uchar2 {
332# 122
333unsigned char x, y;
334# 123
335};
336#endif
337# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
338#if 0
339# 125
340struct char3 {
341# 127
342signed char x, y, z;
343# 128
344};
345#endif
346# 130 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
347#if 0
348# 130
349struct uchar3 {
350# 132
351unsigned char x, y, z;
352# 133
353};
354#endif
355# 135 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
356#if 0
357# 135
358struct __attribute((aligned(4))) char4 {
359# 137
360signed char x, y, z, w;
361# 138
362};
363#endif
364# 140 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
365#if 0
366# 140
367struct __attribute((aligned(4))) uchar4 {
368# 142
369unsigned char x, y, z, w;
370# 143
371};
372#endif
373# 145 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
374#if 0
375# 145
376struct short1 {
377# 147
378short x;
379# 148
380};
381#endif
382# 150 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
383#if 0
384# 150
385struct ushort1 {
386# 152
387unsigned short x;
388# 153
389};
390#endif
391# 155 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
392#if 0
393# 155
394struct __attribute((aligned(4))) short2 {
395# 157
396short x, y;
397# 158
398};
399#endif
400# 160 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
401#if 0
402# 160
403struct __attribute((aligned(4))) ushort2 {
404# 162
405unsigned short x, y;
406# 163
407};
408#endif
409# 165 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
410#if 0
411# 165
412struct short3 {
413# 167
414short x, y, z;
415# 168
416};
417#endif
418# 170 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
419#if 0
420# 170
421struct ushort3 {
422# 172
423unsigned short x, y, z;
424# 173
425};
426#endif
427# 175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
428#if 0
429# 175
430struct __attribute((aligned(8))) short4 { short x; short y; short z; short w; };
431#endif
432# 176 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
433#if 0
434# 176
435struct __attribute((aligned(8))) ushort4 { unsigned short x; unsigned short y; unsigned short z; unsigned short w; };
436#endif
437# 178 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
438#if 0
439# 178
440struct int1 {
441# 180
442int x;
443# 181
444};
445#endif
446# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
447#if 0
448# 183
449struct uint1 {
450# 185
451unsigned x;
452# 186
453};
454#endif
455# 188 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
456#if 0
457# 188
458struct __attribute((aligned(8))) int2 { int x; int y; };
459#endif
460# 189 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
461#if 0
462# 189
463struct __attribute((aligned(8))) uint2 { unsigned x; unsigned y; };
464#endif
465# 191 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
466#if 0
467# 191
468struct int3 {
469# 193
470int x, y, z;
471# 194
472};
473#endif
474# 196 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
475#if 0
476# 196
477struct uint3 {
478# 198
479unsigned x, y, z;
480# 199
481};
482#endif
483# 201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
484#if 0
485# 201
486struct __attribute((aligned(16))) int4 {
487# 203
488int x, y, z, w;
489# 204
490};
491#endif
492# 206 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
493#if 0
494# 206
495struct __attribute((aligned(16))) uint4 {
496# 208
497unsigned x, y, z, w;
498# 209
499};
500#endif
501# 211 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
502#if 0
503# 211
504struct long1 {
505# 213
506long x;
507# 214
508};
509#endif
510# 216 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
511#if 0
512# 216
513struct ulong1 {
514# 218
515unsigned long x;
516# 219
517};
518#endif
519# 226 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
520#if 0
521# 226
522struct __attribute((aligned((2) * sizeof(long)))) long2 {
523# 228
524long x, y;
525# 229
526};
527#endif
528# 231 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
529#if 0
530# 231
531struct __attribute((aligned((2) * sizeof(unsigned long)))) ulong2 {
532# 233
533unsigned long x, y;
534# 234
535};
536#endif
537# 238 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
538#if 0
539# 238
540struct long3 {
541# 240
542long x, y, z;
543# 241
544};
545#endif
546# 243 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
547#if 0
548# 243
549struct ulong3 {
550# 245
551unsigned long x, y, z;
552# 246
553};
554#endif
555# 248 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
556#if 0
557# 248
558struct __attribute((aligned(16))) long4 {
559# 250
560long x, y, z, w;
561# 251
562};
563#endif
564# 253 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
565#if 0
566# 253
567struct __attribute((aligned(16))) ulong4 {
568# 255
569unsigned long x, y, z, w;
570# 256
571};
572#endif
573# 258 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
574#if 0
575# 258
576struct float1 {
577# 260
578float x;
579# 261
580};
581#endif
582# 280 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
583#if 0
584# 280
585struct __attribute((aligned(8))) float2 { float x; float y; };
586#endif
587# 285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
588#if 0
589# 285
590struct float3 {
591# 287
592float x, y, z;
593# 288
594};
595#endif
596# 290 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
597#if 0
598# 290
599struct __attribute((aligned(16))) float4 {
600# 292
601float x, y, z, w;
602# 293
603};
604#endif
605# 295 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
606#if 0
607# 295
608struct longlong1 {
609# 297
610long long x;
611# 298
612};
613#endif
614# 300 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
615#if 0
616# 300
617struct ulonglong1 {
618# 302
619unsigned long long x;
620# 303
621};
622#endif
623# 305 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
624#if 0
625# 305
626struct __attribute((aligned(16))) longlong2 {
627# 307
628long long x, y;
629# 308
630};
631#endif
632# 310 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
633#if 0
634# 310
635struct __attribute((aligned(16))) ulonglong2 {
636# 312
637unsigned long long x, y;
638# 313
639};
640#endif
641# 315 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
642#if 0
643# 315
644struct longlong3 {
645# 317
646long long x, y, z;
647# 318
648};
649#endif
650# 320 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
651#if 0
652# 320
653struct ulonglong3 {
654# 322
655unsigned long long x, y, z;
656# 323
657};
658#endif
659# 325 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
660#if 0
661# 325
662struct __attribute((aligned(16))) longlong4 {
663# 327
664long long x, y, z, w;
665# 328
666};
667#endif
668# 330 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
669#if 0
670# 330
671struct __attribute((aligned(16))) ulonglong4 {
672# 332
673unsigned long long x, y, z, w;
674# 333
675};
676#endif
677# 335 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
678#if 0
679# 335
680struct double1 {
681# 337
682double x;
683# 338
684};
685#endif
686# 340 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
687#if 0
688# 340
689struct __attribute((aligned(16))) double2 {
690# 342
691double x, y;
692# 343
693};
694#endif
695# 345 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
696#if 0
697# 345
698struct double3 {
699# 347
700double x, y, z;
701# 348
702};
703#endif
704# 350 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
705#if 0
706# 350
707struct __attribute((aligned(16))) double4 {
708# 352
709double x, y, z, w;
710# 353
711};
712#endif
713# 367 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
714#if 0
715typedef char1
716# 367
717char1;
718#endif
719# 368 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
720#if 0
721typedef uchar1
722# 368
723uchar1;
724#endif
725# 369 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
726#if 0
727typedef char2
728# 369
729char2;
730#endif
731# 370 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
732#if 0
733typedef uchar2
734# 370
735uchar2;
736#endif
737# 371 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
738#if 0
739typedef char3
740# 371
741char3;
742#endif
743# 372 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
744#if 0
745typedef uchar3
746# 372
747uchar3;
748#endif
749# 373 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
750#if 0
751typedef char4
752# 373
753char4;
754#endif
755# 374 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
756#if 0
757typedef uchar4
758# 374
759uchar4;
760#endif
761# 375 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
762#if 0
763typedef short1
764# 375
765short1;
766#endif
767# 376 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
768#if 0
769typedef ushort1
770# 376
771ushort1;
772#endif
773# 377 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
774#if 0
775typedef short2
776# 377
777short2;
778#endif
779# 378 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
780#if 0
781typedef ushort2
782# 378
783ushort2;
784#endif
785# 379 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
786#if 0
787typedef short3
788# 379
789short3;
790#endif
791# 380 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
792#if 0
793typedef ushort3
794# 380
795ushort3;
796#endif
797# 381 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
798#if 0
799typedef short4
800# 381
801short4;
802#endif
803# 382 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
804#if 0
805typedef ushort4
806# 382
807ushort4;
808#endif
809# 383 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
810#if 0
811typedef int1
812# 383
813int1;
814#endif
815# 384 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
816#if 0
817typedef uint1
818# 384
819uint1;
820#endif
821# 385 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
822#if 0
823typedef int2
824# 385
825int2;
826#endif
827# 386 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
828#if 0
829typedef uint2
830# 386
831uint2;
832#endif
833# 387 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
834#if 0
835typedef int3
836# 387
837int3;
838#endif
839# 388 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
840#if 0
841typedef uint3
842# 388
843uint3;
844#endif
845# 389 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
846#if 0
847typedef int4
848# 389
849int4;
850#endif
851# 390 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
852#if 0
853typedef uint4
854# 390
855uint4;
856#endif
857# 391 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
858#if 0
859typedef long1
860# 391
861long1;
862#endif
863# 392 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
864#if 0
865typedef ulong1
866# 392
867ulong1;
868#endif
869# 393 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
870#if 0
871typedef long2
872# 393
873long2;
874#endif
875# 394 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
876#if 0
877typedef ulong2
878# 394
879ulong2;
880#endif
881# 395 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
882#if 0
883typedef long3
884# 395
885long3;
886#endif
887# 396 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
888#if 0
889typedef ulong3
890# 396
891ulong3;
892#endif
893# 397 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
894#if 0
895typedef long4
896# 397
897long4;
898#endif
899# 398 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
900#if 0
901typedef ulong4
902# 398
903ulong4;
904#endif
905# 399 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
906#if 0
907typedef float1
908# 399
909float1;
910#endif
911# 400 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
912#if 0
913typedef float2
914# 400
915float2;
916#endif
917# 401 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
918#if 0
919typedef float3
920# 401
921float3;
922#endif
923# 402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
924#if 0
925typedef float4
926# 402
927float4;
928#endif
929# 403 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
930#if 0
931typedef longlong1
932# 403
933longlong1;
934#endif
935# 404 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
936#if 0
937typedef ulonglong1
938# 404
939ulonglong1;
940#endif
941# 405 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
942#if 0
943typedef longlong2
944# 405
945longlong2;
946#endif
947# 406 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
948#if 0
949typedef ulonglong2
950# 406
951ulonglong2;
952#endif
953# 407 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
954#if 0
955typedef longlong3
956# 407
957longlong3;
958#endif
959# 408 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
960#if 0
961typedef ulonglong3
962# 408
963ulonglong3;
964#endif
965# 409 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
966#if 0
967typedef longlong4
968# 409
969longlong4;
970#endif
971# 410 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
972#if 0
973typedef ulonglong4
974# 410
975ulonglong4;
976#endif
977# 411 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
978#if 0
979typedef double1
980# 411
981double1;
982#endif
983# 412 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
984#if 0
985typedef double2
986# 412
987double2;
988#endif
989# 413 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
990#if 0
991typedef double3
992# 413
993double3;
994#endif
995# 414 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
996#if 0
997typedef double4
998# 414
999double4;
1000#endif
1001# 426 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
1002#if 0
1003# 426
1004struct dim3 {
1005# 428
1006unsigned x, y, z;
1007# 440
1008};
1009#endif
1010# 442 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_types.h"
1011#if 0
1012typedef dim3
1013# 442
1014dim3;
1015#endif
1016# 23 "/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h" 3
1017extern "C" {
1018# 24
1019extern long __sysconf(int __name) noexcept(true);
1020# 25
1021}
1022# 145 "/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h" 3
1023typedef long ptrdiff_t;
1024# 214 "/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h" 3
1025typedef unsigned long size_t;
1026#if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__)
1027#define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__
1028#endif
1029#include "crt/host_runtime.h"
1030# 436 "/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h" 3
1031typedef
1032# 425 "/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h" 3
1033struct {
1034# 426
1035long long __max_align_ll __attribute((__aligned__(__alignof__(long long))));
1036# 427
1037long double __max_align_ld __attribute((__aligned__(__alignof__(long double))));
1038# 436 "/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h" 3
1039} max_align_t;
1040# 443
1041typedef __decltype((nullptr)) nullptr_t;
1042# 205 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1043#if 0
1044# 205
1045enum cudaError {
1046# 212
1047cudaSuccess,
1048# 218
1049cudaErrorInvalidValue,
1050# 224
1051cudaErrorMemoryAllocation,
1052# 230
1053cudaErrorInitializationError,
1054# 237
1055cudaErrorCudartUnloading,
1056# 244
1057cudaErrorProfilerDisabled,
1058# 252
1059cudaErrorProfilerNotInitialized,
1060# 259
1061cudaErrorProfilerAlreadyStarted,
1062# 266
1063cudaErrorProfilerAlreadyStopped,
1064# 274
1065cudaErrorInvalidConfiguration,
1066# 280
1067cudaErrorInvalidPitchValue = 12,
1068# 286
1069cudaErrorInvalidSymbol,
1070# 294
1071cudaErrorInvalidHostPointer = 16,
1072# 302
1073cudaErrorInvalidDevicePointer,
1074# 307
1075cudaErrorInvalidTexture,
1076# 313
1077cudaErrorInvalidTextureBinding,
1078# 320
1079cudaErrorInvalidChannelDescriptor,
1080# 326
1081cudaErrorInvalidMemcpyDirection,
1082# 336 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1083cudaErrorAddressOfConstant,
1084# 345 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1085cudaErrorTextureFetchFailed,
1086# 354 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1087cudaErrorTextureNotBound,
1088# 363 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1089cudaErrorSynchronizationError,
1090# 368
1091cudaErrorInvalidFilterSetting,
1092# 374
1093cudaErrorInvalidNormSetting,
1094# 382
1095cudaErrorMixedDeviceExecution,
1096# 390
1097cudaErrorNotYetImplemented = 31,
1098# 399 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1099cudaErrorMemoryValueTooLarge,
1100# 405
1101cudaErrorStubLibrary = 34,
1102# 412
1103cudaErrorInsufficientDriver,
1104# 419
1105cudaErrorCallRequiresNewerDriver,
1106# 425
1107cudaErrorInvalidSurface,
1108# 431
1109cudaErrorDuplicateVariableName = 43,
1110# 437
1111cudaErrorDuplicateTextureName,
1112# 443
1113cudaErrorDuplicateSurfaceName,
1114# 453 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1115cudaErrorDevicesUnavailable,
1116# 466 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1117cudaErrorIncompatibleDriverContext = 49,
1118# 472
1119cudaErrorMissingConfiguration = 52,
1120# 481 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1121cudaErrorPriorLaunchFailure,
1122# 487
1123cudaErrorLaunchMaxDepthExceeded = 65,
1124# 495
1125cudaErrorLaunchFileScopedTex,
1126# 503
1127cudaErrorLaunchFileScopedSurf,
1128# 519 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1129cudaErrorSyncDepthExceeded,
1130# 531 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1131cudaErrorLaunchPendingCountExceeded,
1132# 537
1133cudaErrorInvalidDeviceFunction = 98,
1134# 543
1135cudaErrorNoDevice = 100,
1136# 550
1137cudaErrorInvalidDevice,
1138# 555
1139cudaErrorDeviceNotLicensed,
1140# 564 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1141cudaErrorSoftwareValidityNotEstablished,
1142# 569
1143cudaErrorStartupFailure = 127,
1144# 574
1145cudaErrorInvalidKernelImage = 200,
1146# 584 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1147cudaErrorDeviceUninitialized,
1148# 589
1149cudaErrorMapBufferObjectFailed = 205,
1150# 594
1151cudaErrorUnmapBufferObjectFailed,
1152# 600
1153cudaErrorArrayIsMapped,
1154# 605
1155cudaErrorAlreadyMapped,
1156# 613
1157cudaErrorNoKernelImageForDevice,
1158# 618
1159cudaErrorAlreadyAcquired,
1160# 623
1161cudaErrorNotMapped,
1162# 629
1163cudaErrorNotMappedAsArray,
1164# 635
1165cudaErrorNotMappedAsPointer,
1166# 641
1167cudaErrorECCUncorrectable,
1168# 647
1169cudaErrorUnsupportedLimit,
1170# 653
1171cudaErrorDeviceAlreadyInUse,
1172# 659
1173cudaErrorPeerAccessUnsupported,
1174# 665
1175cudaErrorInvalidPtx,
1176# 670
1177cudaErrorInvalidGraphicsContext,
1178# 676
1179cudaErrorNvlinkUncorrectable,
1180# 683
1181cudaErrorJitCompilerNotFound,
1182# 690
1183cudaErrorUnsupportedPtxVersion,
1184# 697
1185cudaErrorJitCompilationDisabled,
1186# 702
1187cudaErrorUnsupportedExecAffinity,
1188# 708
1189cudaErrorUnsupportedDevSideSync,
1190# 719 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1191cudaErrorContained,
1192# 724
1193cudaErrorInvalidSource = 300,
1194# 729
1195cudaErrorFileNotFound,
1196# 734
1197cudaErrorSharedObjectSymbolNotFound,
1198# 739
1199cudaErrorSharedObjectInitFailed,
1200# 744
1201cudaErrorOperatingSystem,
1202# 751
1203cudaErrorInvalidResourceHandle = 400,
1204# 757
1205cudaErrorIllegalState,
1206# 765
1207cudaErrorLossyQuery,
1208# 772
1209cudaErrorSymbolNotFound = 500,
1210# 780
1211cudaErrorNotReady = 600,
1212# 788
1213cudaErrorIllegalAddress = 700,
1214# 797 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1215cudaErrorLaunchOutOfResources,
1216# 808 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1217cudaErrorLaunchTimeout,
1218# 814
1219cudaErrorLaunchIncompatibleTexturing,
1220# 821
1221cudaErrorPeerAccessAlreadyEnabled,
1222# 828
1223cudaErrorPeerAccessNotEnabled,
1224# 841 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1225cudaErrorSetOnActiveProcess = 708,
1226# 848
1227cudaErrorContextIsDestroyed,
1228# 855
1229cudaErrorAssert,
1230# 862
1231cudaErrorTooManyPeers,
1232# 868
1233cudaErrorHostMemoryAlreadyRegistered,
1234# 874
1235cudaErrorHostMemoryNotRegistered,
1236# 883 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1237cudaErrorHardwareStackError,
1238# 891
1239cudaErrorIllegalInstruction,
1240# 900 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1241cudaErrorMisalignedAddress,
1242# 911 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1243cudaErrorInvalidAddressSpace,
1244# 919
1245cudaErrorInvalidPc,
1246# 930 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1247cudaErrorLaunchFailure,
1248# 939 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1249cudaErrorCooperativeLaunchTooLarge,
1250# 947
1251cudaErrorTensorMemoryLeak,
1252# 952
1253cudaErrorNotPermitted = 800,
1254# 958
1255cudaErrorNotSupported,
1256# 967 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1257cudaErrorSystemNotReady,
1258# 974
1259cudaErrorSystemDriverMismatch,
1260# 983 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1261cudaErrorCompatNotSupportedOnDevice,
1262# 988
1263cudaErrorMpsConnectionFailed,
1264# 993
1265cudaErrorMpsRpcFailure,
1266# 999
1267cudaErrorMpsServerNotReady,
1268# 1004
1269cudaErrorMpsMaxClientsReached,
1270# 1009
1271cudaErrorMpsMaxConnectionsReached,
1272# 1014
1273cudaErrorMpsClientTerminated,
1274# 1019
1275cudaErrorCdpNotSupported,
1276# 1024
1277cudaErrorCdpVersionMismatch,
1278# 1029
1279cudaErrorStreamCaptureUnsupported = 900,
1280# 1035
1281cudaErrorStreamCaptureInvalidated,
1282# 1041
1283cudaErrorStreamCaptureMerge,
1284# 1046
1285cudaErrorStreamCaptureUnmatched,
1286# 1052
1287cudaErrorStreamCaptureUnjoined,
1288# 1059
1289cudaErrorStreamCaptureIsolation,
1290# 1065
1291cudaErrorStreamCaptureImplicit,
1292# 1071
1293cudaErrorCapturedEvent,
1294# 1078
1295cudaErrorStreamCaptureWrongThread,
1296# 1083
1297cudaErrorTimeout,
1298# 1089
1299cudaErrorGraphExecUpdateFailure,
1300# 1099 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1301cudaErrorExternalDevice,
1302# 1105
1303cudaErrorInvalidClusterSize,
1304# 1111
1305cudaErrorFunctionNotLoaded,
1306# 1117
1307cudaErrorInvalidResourceType,
1308# 1123
1309cudaErrorInvalidResourceConfiguration,
1310# 1128
1311cudaErrorUnknown = 999,
1312# 1136
1313cudaErrorApiFailureBase = 10000
1314# 1137
1315};
1316#endif
1317# 1142 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1318#if 0
1319# 1142
1320enum cudaChannelFormatKind {
1321# 1144
1322cudaChannelFormatKindSigned,
1323# 1145
1324cudaChannelFormatKindUnsigned,
1325# 1146
1326cudaChannelFormatKindFloat,
1327# 1147
1328cudaChannelFormatKindNone,
1329# 1148
1330cudaChannelFormatKindNV12,
1331# 1149
1332cudaChannelFormatKindUnsignedNormalized8X1,
1333# 1150
1334cudaChannelFormatKindUnsignedNormalized8X2,
1335# 1151
1336cudaChannelFormatKindUnsignedNormalized8X4,
1337# 1152
1338cudaChannelFormatKindUnsignedNormalized16X1,
1339# 1153
1340cudaChannelFormatKindUnsignedNormalized16X2,
1341# 1154
1342cudaChannelFormatKindUnsignedNormalized16X4,
1343# 1155
1344cudaChannelFormatKindSignedNormalized8X1,
1345# 1156
1346cudaChannelFormatKindSignedNormalized8X2,
1347# 1157
1348cudaChannelFormatKindSignedNormalized8X4,
1349# 1158
1350cudaChannelFormatKindSignedNormalized16X1,
1351# 1159
1352cudaChannelFormatKindSignedNormalized16X2,
1353# 1160
1354cudaChannelFormatKindSignedNormalized16X4,
1355# 1161
1356cudaChannelFormatKindUnsignedBlockCompressed1,
1357# 1162
1358cudaChannelFormatKindUnsignedBlockCompressed1SRGB,
1359# 1163
1360cudaChannelFormatKindUnsignedBlockCompressed2,
1361# 1164
1362cudaChannelFormatKindUnsignedBlockCompressed2SRGB,
1363# 1165
1364cudaChannelFormatKindUnsignedBlockCompressed3,
1365# 1166
1366cudaChannelFormatKindUnsignedBlockCompressed3SRGB,
1367# 1167
1368cudaChannelFormatKindUnsignedBlockCompressed4,
1369# 1168
1370cudaChannelFormatKindSignedBlockCompressed4,
1371# 1169
1372cudaChannelFormatKindUnsignedBlockCompressed5,
1373# 1170
1374cudaChannelFormatKindSignedBlockCompressed5,
1375# 1171
1376cudaChannelFormatKindUnsignedBlockCompressed6H,
1377# 1172
1378cudaChannelFormatKindSignedBlockCompressed6H,
1379# 1173
1380cudaChannelFormatKindUnsignedBlockCompressed7,
1381# 1174
1382cudaChannelFormatKindUnsignedBlockCompressed7SRGB,
1383# 1175
1384cudaChannelFormatKindUnsignedNormalized1010102
1385# 1177
1386};
1387#endif
1388# 1182 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1389#if 0
1390# 1182
1391struct cudaChannelFormatDesc {
1392# 1184
1393int x;
1394# 1185
1395int y;
1396# 1186
1397int z;
1398# 1187
1399int w;
1400# 1188
1401cudaChannelFormatKind f;
1402# 1189
1403};
1404#endif
1405# 1194 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1406typedef struct cudaArray *cudaArray_t;
1407# 1199
1408typedef const cudaArray *cudaArray_const_t;
1409# 1201
1410struct cudaArray;
1411# 1206
1412typedef struct cudaMipmappedArray *cudaMipmappedArray_t;
1413# 1211
1414typedef const cudaMipmappedArray *cudaMipmappedArray_const_t;
1415# 1213
1416struct cudaMipmappedArray;
1417# 1223 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1418#if 0
1419# 1223
1420struct cudaArraySparseProperties {
1421# 1224
1422struct {
1423# 1225
1424unsigned width;
1425# 1226
1426unsigned height;
1427# 1227
1428unsigned depth;
1429# 1228
1430} tileExtent;
1431# 1229
1432unsigned miptailFirstLevel;
1433# 1230
1434unsigned long long miptailSize;
1435# 1231
1436unsigned flags;
1437# 1232
1438unsigned reserved[4];
1439# 1233
1440};
1441#endif
1442# 1238 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1443#if 0
1444# 1238
1445struct cudaArrayMemoryRequirements {
1446# 1239
1447size_t size;
1448# 1240
1449size_t alignment;
1450# 1241
1451unsigned reserved[4];
1452# 1242
1453};
1454#endif
1455# 1247 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1456#if 0
1457# 1247
1458enum cudaMemoryType {
1459# 1249
1460cudaMemoryTypeUnregistered,
1461# 1250
1462cudaMemoryTypeHost,
1463# 1251
1464cudaMemoryTypeDevice,
1465# 1252
1466cudaMemoryTypeManaged
1467# 1253
1468};
1469#endif
1470# 1258 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1471#if 0
1472# 1258
1473enum cudaMemcpyKind {
1474# 1260
1475cudaMemcpyHostToHost,
1476# 1261
1477cudaMemcpyHostToDevice,
1478# 1262
1479cudaMemcpyDeviceToHost,
1480# 1263
1481cudaMemcpyDeviceToDevice,
1482# 1264
1483cudaMemcpyDefault
1484# 1265
1485};
1486#endif
1487# 1272 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1488#if 0
1489# 1272
1490struct cudaPitchedPtr {
1491# 1274
1492void *ptr;
1493# 1275
1494size_t pitch;
1495# 1276
1496size_t xsize;
1497# 1277
1498size_t ysize;
1499# 1278
1500};
1501#endif
1502# 1285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1503#if 0
1504# 1285
1505struct cudaExtent {
1506# 1287
1507size_t width;
1508# 1288
1509size_t height;
1510# 1289
1511size_t depth;
1512# 1290
1513};
1514#endif
1515# 1297 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1516#if 0
1517# 1297
1518struct cudaPos {
1519# 1299
1520size_t x;
1521# 1300
1522size_t y;
1523# 1301
1524size_t z;
1525# 1302
1526};
1527#endif
1528# 1307 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1529#if 0
1530# 1307
1531struct cudaMemcpy3DParms {
1532# 1309
1533cudaArray_t srcArray;
1534# 1310
1535cudaPos srcPos;
1536# 1311
1537cudaPitchedPtr srcPtr;
1538# 1313
1539cudaArray_t dstArray;
1540# 1314
1541cudaPos dstPos;
1542# 1315
1543cudaPitchedPtr dstPtr;
1544# 1317
1545cudaExtent extent;
1546# 1318
1547cudaMemcpyKind kind; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
1548# 1319
1549};
1550#endif
1551# 1324 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1552#if 0
1553# 1324
1554struct cudaMemcpyNodeParams {
1555# 1325
1556int flags;
1557# 1326
1558int reserved[3];
1559# 1327
1560cudaMemcpy3DParms copyParams;
1561# 1328
1562};
1563#endif
1564# 1333 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1565#if 0
1566# 1333
1567struct cudaMemcpy3DPeerParms {
1568# 1335
1569cudaArray_t srcArray;
1570# 1336
1571cudaPos srcPos;
1572# 1337
1573cudaPitchedPtr srcPtr;
1574# 1338
1575int srcDevice;
1576# 1340
1577cudaArray_t dstArray;
1578# 1341
1579cudaPos dstPos;
1580# 1342
1581cudaPitchedPtr dstPtr;
1582# 1343
1583int dstDevice;
1584# 1345
1585cudaExtent extent;
1586# 1346
1587};
1588#endif
1589# 1351 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1590#if 0
1591# 1351
1592struct cudaMemsetParams {
1593# 1352
1594void *dst;
1595# 1353
1596size_t pitch;
1597# 1354
1598unsigned value;
1599# 1355
1600unsigned elementSize;
1601# 1356
1602size_t width;
1603# 1357
1604size_t height;
1605# 1358
1606};
1607#endif
1608# 1363 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1609#if 0
1610# 1363
1611struct cudaMemsetParamsV2 {
1612# 1364
1613void *dst;
1614# 1365
1615size_t pitch;
1616# 1366
1617unsigned value;
1618# 1367
1619unsigned elementSize;
1620# 1368
1621size_t width;
1622# 1369
1623size_t height;
1624# 1370
1625};
1626#endif
1627# 1375 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1628#if 0
1629# 1375
1630enum cudaAccessProperty {
1631# 1376
1632cudaAccessPropertyNormal,
1633# 1377
1634cudaAccessPropertyStreaming,
1635# 1378
1636cudaAccessPropertyPersisting
1637# 1379
1638};
1639#endif
1640# 1392 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1641#if 0
1642# 1392
1643struct cudaAccessPolicyWindow {
1644# 1393
1645void *base_ptr;
1646# 1394
1647size_t num_bytes;
1648# 1395
1649float hitRatio;
1650# 1396
1651cudaAccessProperty hitProp;
1652# 1397
1653cudaAccessProperty missProp; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
1654# 1398
1655};
1656#endif
1657# 1410 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1658typedef void (*cudaHostFn_t)(void * userData);
1659# 1415
1660#if 0
1661# 1415
1662struct cudaHostNodeParams {
1663# 1416
1664cudaHostFn_t fn;
1665# 1417
1666void *userData;
1667# 1418
1668};
1669#endif
1670# 1423 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1671#if 0
1672# 1423
1673struct cudaHostNodeParamsV2 {
1674# 1424
1675cudaHostFn_t fn;
1676# 1425
1677void *userData;
1678# 1426
1679};
1680#endif
1681# 1431 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1682#if 0
1683# 1431
1684enum cudaStreamCaptureStatus {
1685# 1432
1686cudaStreamCaptureStatusNone,
1687# 1433
1688cudaStreamCaptureStatusActive,
1689# 1434
1690cudaStreamCaptureStatusInvalidated
1691# 1436
1692};
1693#endif
1694# 1442 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1695#if 0
1696# 1442
1697enum cudaStreamCaptureMode {
1698# 1443
1699cudaStreamCaptureModeGlobal,
1700# 1444
1701cudaStreamCaptureModeThreadLocal,
1702# 1445
1703cudaStreamCaptureModeRelaxed
1704# 1446
1705};
1706#endif
1707# 1448 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1708#if 0
1709# 1448
1710enum cudaSynchronizationPolicy {
1711# 1449
1712cudaSyncPolicyAuto = 1,
1713# 1450
1714cudaSyncPolicySpin,
1715# 1451
1716cudaSyncPolicyYield,
1717# 1452
1718cudaSyncPolicyBlockingSync
1719# 1453
1720};
1721#endif
1722# 1458 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1723#if 0
1724# 1458
1725enum cudaClusterSchedulingPolicy {
1726# 1459
1727cudaClusterSchedulingPolicyDefault,
1728# 1460
1729cudaClusterSchedulingPolicySpread,
1730# 1461
1731cudaClusterSchedulingPolicyLoadBalancing
1732# 1462
1733};
1734#endif
1735# 1467 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1736#if 0
1737# 1467
1738enum cudaStreamUpdateCaptureDependenciesFlags {
1739# 1468
1740cudaStreamAddCaptureDependencies,
1741# 1469
1742cudaStreamSetCaptureDependencies
1743# 1470
1744};
1745#endif
1746# 1475 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1747#if 0
1748# 1475
1749enum cudaUserObjectFlags {
1750# 1476
1751cudaUserObjectNoDestructorSync = 1
1752# 1477
1753};
1754#endif
1755# 1482 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1756#if 0
1757# 1482
1758enum cudaUserObjectRetainFlags {
1759# 1483
1760cudaGraphUserObjectMove = 1
1761# 1484
1762};
1763#endif
1764# 1489 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1765struct cudaGraphicsResource;
1766# 1494
1767#if 0
1768# 1494
1769enum cudaGraphicsRegisterFlags {
1770# 1496
1771cudaGraphicsRegisterFlagsNone,
1772# 1497
1773cudaGraphicsRegisterFlagsReadOnly,
1774# 1498
1775cudaGraphicsRegisterFlagsWriteDiscard,
1776# 1499
1777cudaGraphicsRegisterFlagsSurfaceLoadStore = 4,
1778# 1500
1779cudaGraphicsRegisterFlagsTextureGather = 8
1780# 1501
1781};
1782#endif
1783# 1506 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1784#if 0
1785# 1506
1786enum cudaGraphicsMapFlags {
1787# 1508
1788cudaGraphicsMapFlagsNone,
1789# 1509
1790cudaGraphicsMapFlagsReadOnly,
1791# 1510
1792cudaGraphicsMapFlagsWriteDiscard
1793# 1511
1794};
1795#endif
1796# 1516 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1797#if 0
1798# 1516
1799enum cudaGraphicsCubeFace {
1800# 1518
1801cudaGraphicsCubeFacePositiveX,
1802# 1519
1803cudaGraphicsCubeFaceNegativeX,
1804# 1520
1805cudaGraphicsCubeFacePositiveY,
1806# 1521
1807cudaGraphicsCubeFaceNegativeY,
1808# 1522
1809cudaGraphicsCubeFacePositiveZ,
1810# 1523
1811cudaGraphicsCubeFaceNegativeZ
1812# 1524
1813};
1814#endif
1815# 1529 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1816#if 0
1817# 1529
1818enum cudaResourceType {
1819# 1531
1820cudaResourceTypeArray,
1821# 1532
1822cudaResourceTypeMipmappedArray,
1823# 1533
1824cudaResourceTypeLinear,
1825# 1534
1826cudaResourceTypePitch2D
1827# 1535
1828};
1829#endif
1830# 1540 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1831#if 0
1832# 1540
1833enum cudaResourceViewFormat {
1834# 1542
1835cudaResViewFormatNone,
1836# 1543
1837cudaResViewFormatUnsignedChar1,
1838# 1544
1839cudaResViewFormatUnsignedChar2,
1840# 1545
1841cudaResViewFormatUnsignedChar4,
1842# 1546
1843cudaResViewFormatSignedChar1,
1844# 1547
1845cudaResViewFormatSignedChar2,
1846# 1548
1847cudaResViewFormatSignedChar4,
1848# 1549
1849cudaResViewFormatUnsignedShort1,
1850# 1550
1851cudaResViewFormatUnsignedShort2,
1852# 1551
1853cudaResViewFormatUnsignedShort4,
1854# 1552
1855cudaResViewFormatSignedShort1,
1856# 1553
1857cudaResViewFormatSignedShort2,
1858# 1554
1859cudaResViewFormatSignedShort4,
1860# 1555
1861cudaResViewFormatUnsignedInt1,
1862# 1556
1863cudaResViewFormatUnsignedInt2,
1864# 1557
1865cudaResViewFormatUnsignedInt4,
1866# 1558
1867cudaResViewFormatSignedInt1,
1868# 1559
1869cudaResViewFormatSignedInt2,
1870# 1560
1871cudaResViewFormatSignedInt4,
1872# 1561
1873cudaResViewFormatHalf1,
1874# 1562
1875cudaResViewFormatHalf2,
1876# 1563
1877cudaResViewFormatHalf4,
1878# 1564
1879cudaResViewFormatFloat1,
1880# 1565
1881cudaResViewFormatFloat2,
1882# 1566
1883cudaResViewFormatFloat4,
1884# 1567
1885cudaResViewFormatUnsignedBlockCompressed1,
1886# 1568
1887cudaResViewFormatUnsignedBlockCompressed2,
1888# 1569
1889cudaResViewFormatUnsignedBlockCompressed3,
1890# 1570
1891cudaResViewFormatUnsignedBlockCompressed4,
1892# 1571
1893cudaResViewFormatSignedBlockCompressed4,
1894# 1572
1895cudaResViewFormatUnsignedBlockCompressed5,
1896# 1573
1897cudaResViewFormatSignedBlockCompressed5,
1898# 1574
1899cudaResViewFormatUnsignedBlockCompressed6H,
1900# 1575
1901cudaResViewFormatSignedBlockCompressed6H,
1902# 1576
1903cudaResViewFormatUnsignedBlockCompressed7
1904# 1577
1905};
1906#endif
1907# 1582 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1908#if 0
1909# 1582
1910struct cudaResourceDesc {
1911# 1583
1912cudaResourceType resType;
1913# 1585
1914union {
1915# 1586
1916struct {
1917# 1587
1918cudaArray_t array;
1919# 1588
1920} array;
1921# 1589
1922struct {
1923# 1590
1924cudaMipmappedArray_t mipmap;
1925# 1591
1926} mipmap;
1927# 1592
1928struct {
1929# 1593
1930void *devPtr;
1931# 1594
1932cudaChannelFormatDesc desc;
1933# 1595
1934size_t sizeInBytes;
1935# 1596
1936} linear;
1937# 1597
1938struct {
1939# 1598
1940void *devPtr;
1941# 1599
1942cudaChannelFormatDesc desc;
1943# 1600
1944size_t width;
1945# 1601
1946size_t height;
1947# 1602
1948size_t pitchInBytes;
1949# 1603
1950} pitch2D;
1951# 1604
1952} res;
1953# 1605
1954};
1955#endif
1956# 1610 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1957#if 0
1958# 1610
1959struct cudaResourceViewDesc {
1960# 1612
1961cudaResourceViewFormat format;
1962# 1613
1963size_t width;
1964# 1614
1965size_t height;
1966# 1615
1967size_t depth;
1968# 1616
1969unsigned firstMipmapLevel;
1970# 1617
1971unsigned lastMipmapLevel;
1972# 1618
1973unsigned firstLayer;
1974# 1619
1975unsigned lastLayer;
1976# 1620
1977};
1978#endif
1979# 1625 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1980#if 0
1981# 1625
1982struct cudaPointerAttributes {
1983# 1631
1984cudaMemoryType type;
1985# 1642 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1986int device;
1987# 1648
1988void *devicePointer;
1989# 1657 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1990void *hostPointer;
1991# 1658
1992};
1993#endif
1994# 1663 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
1995#if 0
1996# 1663
1997struct cudaFuncAttributes {
1998# 1670
1999size_t sharedSizeBytes;
2000# 1676
2001size_t constSizeBytes;
2002# 1681
2003size_t localSizeBytes;
2004# 1688
2005int maxThreadsPerBlock;
2006# 1693
2007int numRegs;
2008# 1700
2009int ptxVersion;
2010# 1707
2011int binaryVersion;
2012# 1713
2013int cacheModeCA;
2014# 1720
2015int maxDynamicSharedSizeBytes;
2016# 1729 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2017int preferredShmemCarveout;
2018# 1735
2019int clusterDimMustBeSet;
2020# 1746 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2021int requiredClusterWidth;
2022# 1747
2023int requiredClusterHeight;
2024# 1748
2025int requiredClusterDepth;
2026# 1754
2027int clusterSchedulingPolicyPreference;
2028# 1776 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2029int nonPortableClusterSizeAllowed;
2030# 1781
2031int reserved[16];
2032# 1782
2033};
2034#endif
2035# 1787 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2036#if 0
2037# 1787
2038enum cudaFuncAttribute {
2039# 1789
2040cudaFuncAttributeMaxDynamicSharedMemorySize = 8,
2041# 1790
2042cudaFuncAttributePreferredSharedMemoryCarveout,
2043# 1791
2044cudaFuncAttributeClusterDimMustBeSet,
2045# 1792
2046cudaFuncAttributeRequiredClusterWidth,
2047# 1793
2048cudaFuncAttributeRequiredClusterHeight,
2049# 1794
2050cudaFuncAttributeRequiredClusterDepth,
2051# 1795
2052cudaFuncAttributeNonPortableClusterSizeAllowed,
2053# 1796
2054cudaFuncAttributeClusterSchedulingPolicyPreference,
2055# 1797
2056cudaFuncAttributeMax
2057# 1798
2058};
2059#endif
2060# 1803 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2061#if 0
2062# 1803
2063enum cudaFuncCache {
2064# 1805
2065cudaFuncCachePreferNone,
2066# 1806
2067cudaFuncCachePreferShared,
2068# 1807
2069cudaFuncCachePreferL1,
2070# 1808
2071cudaFuncCachePreferEqual
2072# 1809
2073};
2074#endif
2075# 1815 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2076#if 0
2077# 1815
2078enum cudaSharedMemConfig {
2079# 1817
2080cudaSharedMemBankSizeDefault,
2081# 1818
2082cudaSharedMemBankSizeFourByte,
2083# 1819
2084cudaSharedMemBankSizeEightByte
2085# 1820
2086};
2087#endif
2088# 1825 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2089#if 0
2090# 1825
2091enum cudaSharedCarveout {
2092# 1826
2093cudaSharedmemCarveoutDefault = (-1),
2094# 1827
2095cudaSharedmemCarveoutMaxShared = 100,
2096# 1828
2097cudaSharedmemCarveoutMaxL1 = 0
2098# 1829
2099};
2100#endif
2101# 1834 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2102#if 0
2103# 1834
2104enum cudaComputeMode {
2105# 1836
2106cudaComputeModeDefault,
2107# 1837
2108cudaComputeModeExclusive,
2109# 1838
2110cudaComputeModeProhibited,
2111# 1839
2112cudaComputeModeExclusiveProcess
2113# 1840
2114};
2115#endif
2116# 1845 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2117#if 0
2118# 1845
2119enum cudaLimit {
2120# 1847
2121cudaLimitStackSize,
2122# 1848
2123cudaLimitPrintfFifoSize,
2124# 1849
2125cudaLimitMallocHeapSize,
2126# 1850
2127cudaLimitDevRuntimeSyncDepth,
2128# 1851
2129cudaLimitDevRuntimePendingLaunchCount,
2130# 1852
2131cudaLimitMaxL2FetchGranularity,
2132# 1853
2133cudaLimitPersistingL2CacheSize
2134# 1854
2135};
2136#endif
2137# 1859 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2138#if 0
2139# 1859
2140enum cudaMemoryAdvise {
2141# 1861
2142cudaMemAdviseSetReadMostly = 1,
2143# 1862
2144cudaMemAdviseUnsetReadMostly,
2145# 1863
2146cudaMemAdviseSetPreferredLocation,
2147# 1864
2148cudaMemAdviseUnsetPreferredLocation,
2149# 1865
2150cudaMemAdviseSetAccessedBy,
2151# 1866
2152cudaMemAdviseUnsetAccessedBy
2153# 1867
2154};
2155#endif
2156# 1872 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2157#if 0
2158# 1872
2159enum cudaMemRangeAttribute {
2160# 1874
2161cudaMemRangeAttributeReadMostly = 1,
2162# 1875
2163cudaMemRangeAttributePreferredLocation,
2164# 1876
2165cudaMemRangeAttributeAccessedBy,
2166# 1877
2167cudaMemRangeAttributeLastPrefetchLocation,
2168# 1878
2169cudaMemRangeAttributePreferredLocationType,
2170# 1879
2171cudaMemRangeAttributePreferredLocationId,
2172# 1880
2173cudaMemRangeAttributeLastPrefetchLocationType,
2174# 1881
2175cudaMemRangeAttributeLastPrefetchLocationId
2176# 1882
2177};
2178#endif
2179# 1887 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2180#if 0
2181# 1887
2182enum cudaFlushGPUDirectRDMAWritesOptions {
2183# 1888
2184cudaFlushGPUDirectRDMAWritesOptionHost = (1 << 0),
2185# 1889
2186cudaFlushGPUDirectRDMAWritesOptionMemOps
2187# 1890
2188};
2189#endif
2190# 1895 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2191#if 0
2192# 1895
2193enum cudaGPUDirectRDMAWritesOrdering {
2194# 1896
2195cudaGPUDirectRDMAWritesOrderingNone,
2196# 1897
2197cudaGPUDirectRDMAWritesOrderingOwner = 100,
2198# 1898
2199cudaGPUDirectRDMAWritesOrderingAllDevices = 200
2200# 1899
2201};
2202#endif
2203# 1904 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2204#if 0
2205# 1904
2206enum cudaFlushGPUDirectRDMAWritesScope {
2207# 1905
2208cudaFlushGPUDirectRDMAWritesToOwner = 100,
2209# 1906
2210cudaFlushGPUDirectRDMAWritesToAllDevices = 200
2211# 1907
2212};
2213#endif
2214# 1912 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2215#if 0
2216# 1912
2217enum cudaFlushGPUDirectRDMAWritesTarget {
2218# 1913
2219cudaFlushGPUDirectRDMAWritesTargetCurrentDevice
2220# 1914
2221};
2222#endif
2223# 1920 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2224#if 0
2225# 1920
2226enum cudaDeviceAttr {
2227# 1922
2228cudaDevAttrMaxThreadsPerBlock = 1,
2229# 1923
2230cudaDevAttrMaxBlockDimX,
2231# 1924
2232cudaDevAttrMaxBlockDimY,
2233# 1925
2234cudaDevAttrMaxBlockDimZ,
2235# 1926
2236cudaDevAttrMaxGridDimX,
2237# 1927
2238cudaDevAttrMaxGridDimY,
2239# 1928
2240cudaDevAttrMaxGridDimZ,
2241# 1929
2242cudaDevAttrMaxSharedMemoryPerBlock,
2243# 1930
2244cudaDevAttrTotalConstantMemory,
2245# 1931
2246cudaDevAttrWarpSize,
2247# 1932
2248cudaDevAttrMaxPitch,
2249# 1933
2250cudaDevAttrMaxRegistersPerBlock,
2251# 1934
2252cudaDevAttrClockRate,
2253# 1935
2254cudaDevAttrTextureAlignment,
2255# 1936
2256cudaDevAttrGpuOverlap,
2257# 1937
2258cudaDevAttrMultiProcessorCount,
2259# 1938
2260cudaDevAttrKernelExecTimeout,
2261# 1939
2262cudaDevAttrIntegrated,
2263# 1940
2264cudaDevAttrCanMapHostMemory,
2265# 1941
2266cudaDevAttrComputeMode,
2267# 1942
2268cudaDevAttrMaxTexture1DWidth,
2269# 1943
2270cudaDevAttrMaxTexture2DWidth,
2271# 1944
2272cudaDevAttrMaxTexture2DHeight,
2273# 1945
2274cudaDevAttrMaxTexture3DWidth,
2275# 1946
2276cudaDevAttrMaxTexture3DHeight,
2277# 1947
2278cudaDevAttrMaxTexture3DDepth,
2279# 1948
2280cudaDevAttrMaxTexture2DLayeredWidth,
2281# 1949
2282cudaDevAttrMaxTexture2DLayeredHeight,
2283# 1950
2284cudaDevAttrMaxTexture2DLayeredLayers,
2285# 1951
2286cudaDevAttrSurfaceAlignment,
2287# 1952
2288cudaDevAttrConcurrentKernels,
2289# 1953
2290cudaDevAttrEccEnabled,
2291# 1954
2292cudaDevAttrPciBusId,
2293# 1955
2294cudaDevAttrPciDeviceId,
2295# 1956
2296cudaDevAttrTccDriver,
2297# 1957
2298cudaDevAttrMemoryClockRate,
2299# 1958
2300cudaDevAttrGlobalMemoryBusWidth,
2301# 1959
2302cudaDevAttrL2CacheSize,
2303# 1960
2304cudaDevAttrMaxThreadsPerMultiProcessor,
2305# 1961
2306cudaDevAttrAsyncEngineCount,
2307# 1962
2308cudaDevAttrUnifiedAddressing,
2309# 1963
2310cudaDevAttrMaxTexture1DLayeredWidth,
2311# 1964
2312cudaDevAttrMaxTexture1DLayeredLayers,
2313# 1965
2314cudaDevAttrMaxTexture2DGatherWidth = 45,
2315# 1966
2316cudaDevAttrMaxTexture2DGatherHeight,
2317# 1967
2318cudaDevAttrMaxTexture3DWidthAlt,
2319# 1968
2320cudaDevAttrMaxTexture3DHeightAlt,
2321# 1969
2322cudaDevAttrMaxTexture3DDepthAlt,
2323# 1970
2324cudaDevAttrPciDomainId,
2325# 1971
2326cudaDevAttrTexturePitchAlignment,
2327# 1972
2328cudaDevAttrMaxTextureCubemapWidth,
2329# 1973
2330cudaDevAttrMaxTextureCubemapLayeredWidth,
2331# 1974
2332cudaDevAttrMaxTextureCubemapLayeredLayers,
2333# 1975
2334cudaDevAttrMaxSurface1DWidth,
2335# 1976
2336cudaDevAttrMaxSurface2DWidth,
2337# 1977
2338cudaDevAttrMaxSurface2DHeight,
2339# 1978
2340cudaDevAttrMaxSurface3DWidth,
2341# 1979
2342cudaDevAttrMaxSurface3DHeight,
2343# 1980
2344cudaDevAttrMaxSurface3DDepth,
2345# 1981
2346cudaDevAttrMaxSurface1DLayeredWidth,
2347# 1982
2348cudaDevAttrMaxSurface1DLayeredLayers,
2349# 1983
2350cudaDevAttrMaxSurface2DLayeredWidth,
2351# 1984
2352cudaDevAttrMaxSurface2DLayeredHeight,
2353# 1985
2354cudaDevAttrMaxSurface2DLayeredLayers,
2355# 1986
2356cudaDevAttrMaxSurfaceCubemapWidth,
2357# 1987
2358cudaDevAttrMaxSurfaceCubemapLayeredWidth,
2359# 1988
2360cudaDevAttrMaxSurfaceCubemapLayeredLayers,
2361# 1989
2362cudaDevAttrMaxTexture1DLinearWidth,
2363# 1990
2364cudaDevAttrMaxTexture2DLinearWidth,
2365# 1991
2366cudaDevAttrMaxTexture2DLinearHeight,
2367# 1992
2368cudaDevAttrMaxTexture2DLinearPitch,
2369# 1993
2370cudaDevAttrMaxTexture2DMipmappedWidth,
2371# 1994
2372cudaDevAttrMaxTexture2DMipmappedHeight,
2373# 1995
2374cudaDevAttrComputeCapabilityMajor,
2375# 1996
2376cudaDevAttrComputeCapabilityMinor,
2377# 1997
2378cudaDevAttrMaxTexture1DMipmappedWidth,
2379# 1998
2380cudaDevAttrStreamPrioritiesSupported,
2381# 1999
2382cudaDevAttrGlobalL1CacheSupported,
2383# 2000
2384cudaDevAttrLocalL1CacheSupported,
2385# 2001
2386cudaDevAttrMaxSharedMemoryPerMultiprocessor,
2387# 2002
2388cudaDevAttrMaxRegistersPerMultiprocessor,
2389# 2003
2390cudaDevAttrManagedMemory,
2391# 2004
2392cudaDevAttrIsMultiGpuBoard,
2393# 2005
2394cudaDevAttrMultiGpuBoardGroupID,
2395# 2006
2396cudaDevAttrHostNativeAtomicSupported,
2397# 2007
2398cudaDevAttrSingleToDoublePrecisionPerfRatio,
2399# 2008
2400cudaDevAttrPageableMemoryAccess,
2401# 2009
2402cudaDevAttrConcurrentManagedAccess,
2403# 2010
2404cudaDevAttrComputePreemptionSupported,
2405# 2011
2406cudaDevAttrCanUseHostPointerForRegisteredMem,
2407# 2012
2408cudaDevAttrReserved92,
2409# 2013
2410cudaDevAttrReserved93,
2411# 2014
2412cudaDevAttrReserved94,
2413# 2015
2414cudaDevAttrCooperativeLaunch,
2415# 2016
2416cudaDevAttrCooperativeMultiDeviceLaunch,
2417# 2017
2418cudaDevAttrMaxSharedMemoryPerBlockOptin,
2419# 2018
2420cudaDevAttrCanFlushRemoteWrites,
2421# 2019
2422cudaDevAttrHostRegisterSupported,
2423# 2020
2424cudaDevAttrPageableMemoryAccessUsesHostPageTables,
2425# 2021
2426cudaDevAttrDirectManagedMemAccessFromHost,
2427# 2022
2428cudaDevAttrMaxBlocksPerMultiprocessor = 106,
2429# 2023
2430cudaDevAttrMaxPersistingL2CacheSize = 108,
2431# 2024
2432cudaDevAttrMaxAccessPolicyWindowSize,
2433# 2025
2434cudaDevAttrReservedSharedMemoryPerBlock = 111,
2435# 2026
2436cudaDevAttrSparseCudaArraySupported,
2437# 2027
2438cudaDevAttrHostRegisterReadOnlySupported,
2439# 2028
2440cudaDevAttrTimelineSemaphoreInteropSupported,
2441# 2029
2442cudaDevAttrMaxTimelineSemaphoreInteropSupported = 114,
2443# 2030
2444cudaDevAttrMemoryPoolsSupported,
2445# 2031
2446cudaDevAttrGPUDirectRDMASupported,
2447# 2032
2448cudaDevAttrGPUDirectRDMAFlushWritesOptions,
2449# 2033
2450cudaDevAttrGPUDirectRDMAWritesOrdering,
2451# 2034
2452cudaDevAttrMemoryPoolSupportedHandleTypes,
2453# 2035
2454cudaDevAttrClusterLaunch,
2455# 2036
2456cudaDevAttrDeferredMappingCudaArraySupported,
2457# 2037
2458cudaDevAttrReserved122,
2459# 2038
2460cudaDevAttrReserved123,
2461# 2039
2462cudaDevAttrReserved124,
2463# 2040
2464cudaDevAttrIpcEventSupport,
2465# 2041
2466cudaDevAttrMemSyncDomainCount,
2467# 2042
2468cudaDevAttrReserved127,
2469# 2043
2470cudaDevAttrReserved128,
2471# 2044
2472cudaDevAttrReserved129,
2473# 2045
2474cudaDevAttrNumaConfig,
2475# 2046
2476cudaDevAttrNumaId,
2477# 2047
2478cudaDevAttrReserved132,
2479# 2048
2480cudaDevAttrMpsEnabled,
2481# 2049
2482cudaDevAttrHostNumaId,
2483# 2050
2484cudaDevAttrD3D12CigSupported,
2485# 2051
2486cudaDevAttrGpuPciDeviceId = 139,
2487# 2052
2488cudaDevAttrGpuPciSubsystemId,
2489# 2053
2490cudaDevAttrHostNumaMultinodeIpcSupported = 143,
2491# 2054
2492cudaDevAttrMax
2493# 2055
2494};
2495#endif
2496# 2060 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2497#if 0
2498# 2060
2499enum cudaMemPoolAttr {
2500# 2070 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2501cudaMemPoolReuseFollowEventDependencies = 1,
2502# 2077
2503cudaMemPoolReuseAllowOpportunistic,
2504# 2085
2505cudaMemPoolReuseAllowInternalDependencies,
2506# 2096 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2507cudaMemPoolAttrReleaseThreshold,
2508# 2102
2509cudaMemPoolAttrReservedMemCurrent,
2510# 2109
2511cudaMemPoolAttrReservedMemHigh,
2512# 2115
2513cudaMemPoolAttrUsedMemCurrent,
2514# 2122
2515cudaMemPoolAttrUsedMemHigh
2516# 2123
2517};
2518#endif
2519# 2128 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2520#if 0
2521# 2128
2522enum cudaMemLocationType {
2523# 2129
2524cudaMemLocationTypeInvalid,
2525# 2130
2526cudaMemLocationTypeDevice,
2527# 2131
2528cudaMemLocationTypeHost,
2529# 2132
2530cudaMemLocationTypeHostNuma,
2531# 2133
2532cudaMemLocationTypeHostNumaCurrent
2533# 2134
2534};
2535#endif
2536# 2142 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2537#if 0
2538# 2142
2539struct cudaMemLocation {
2540# 2143
2541cudaMemLocationType type;
2542# 2144
2543int id;
2544# 2145
2545};
2546#endif
2547# 2150 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2548#if 0
2549# 2150
2550enum cudaMemAccessFlags {
2551# 2151
2552cudaMemAccessFlagsProtNone,
2553# 2152
2554cudaMemAccessFlagsProtRead,
2555# 2153
2556cudaMemAccessFlagsProtReadWrite = 3
2557# 2154
2558};
2559#endif
2560# 2159 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2561#if 0
2562# 2159
2563struct cudaMemAccessDesc {
2564# 2160
2565cudaMemLocation location;
2566# 2161
2567cudaMemAccessFlags flags;
2568# 2162
2569};
2570#endif
2571# 2167 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2572#if 0
2573# 2167
2574enum cudaMemAllocationType {
2575# 2168
2576cudaMemAllocationTypeInvalid,
2577# 2172
2578cudaMemAllocationTypePinned,
2579# 2173
2580cudaMemAllocationTypeMax = 2147483647
2581# 2174
2582};
2583#endif
2584# 2179 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2585#if 0
2586# 2179
2587enum cudaMemAllocationHandleType {
2588# 2180
2589cudaMemHandleTypeNone,
2590# 2181
2591cudaMemHandleTypePosixFileDescriptor,
2592# 2182
2593cudaMemHandleTypeWin32,
2594# 2183
2595cudaMemHandleTypeWin32Kmt = 4,
2596# 2184
2597cudaMemHandleTypeFabric = 8
2598# 2185
2599};
2600#endif
2601# 2196 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2602#if 0
2603# 2196
2604struct cudaMemPoolProps {
2605# 2197
2606cudaMemAllocationType allocType;
2607# 2198
2608cudaMemAllocationHandleType handleTypes;
2609# 2199
2610cudaMemLocation location;
2611# 2206
2612void *win32SecurityAttributes;
2613# 2207
2614size_t maxSize;
2615# 2208
2616unsigned short usage;
2617# 2209
2618unsigned char reserved[54];
2619# 2210
2620};
2621#endif
2622# 2215 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2623#if 0
2624# 2215
2625struct cudaMemPoolPtrExportData {
2626# 2216
2627unsigned char reserved[64];
2628# 2217
2629};
2630#endif
2631# 2222 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2632#if 0
2633# 2222
2634struct cudaMemAllocNodeParams {
2635# 2227
2636cudaMemPoolProps poolProps;
2637# 2228
2638const cudaMemAccessDesc *accessDescs;
2639# 2229
2640size_t accessDescCount;
2641# 2230
2642size_t bytesize;
2643# 2231
2644void *dptr;
2645# 2232
2646};
2647#endif
2648# 2237 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2649#if 0
2650# 2237
2651struct cudaMemAllocNodeParamsV2 {
2652# 2242
2653cudaMemPoolProps poolProps;
2654# 2243
2655const cudaMemAccessDesc *accessDescs;
2656# 2244
2657size_t accessDescCount;
2658# 2245
2659size_t bytesize;
2660# 2246
2661void *dptr;
2662# 2247
2663};
2664#endif
2665# 2252 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2666#if 0
2667# 2252
2668struct cudaMemFreeNodeParams {
2669# 2253
2670void *dptr;
2671# 2254
2672};
2673#endif
2674# 2259 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2675#if 0
2676# 2259
2677enum cudaGraphMemAttributeType {
2678# 2264
2679cudaGraphMemAttrUsedMemCurrent,
2680# 2271
2681cudaGraphMemAttrUsedMemHigh,
2682# 2278
2683cudaGraphMemAttrReservedMemCurrent,
2684# 2285
2685cudaGraphMemAttrReservedMemHigh
2686# 2286
2687};
2688#endif
2689# 2291 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2690#if 0
2691# 2291
2692enum cudaMemcpyFlags {
2693# 2292
2694cudaMemcpyFlagDefault,
2695# 2297
2696cudaMemcpyFlagPreferOverlapWithCompute
2697# 2298
2698};
2699#endif
2700# 2300 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2701#if 0
2702# 2300
2703enum cudaMemcpySrcAccessOrder {
2704# 2304
2705cudaMemcpySrcAccessOrderInvalid,
2706# 2309
2707cudaMemcpySrcAccessOrderStream,
2708# 2320 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2709cudaMemcpySrcAccessOrderDuringApiCall,
2710# 2329 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2711cudaMemcpySrcAccessOrderAny,
2712# 2331
2713cudaMemcpySrcAccessOrderMax = 2147483647
2714# 2332
2715};
2716#endif
2717# 2337 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2718#if 0
2719# 2337
2720struct cudaMemcpyAttributes {
2721# 2338
2722cudaMemcpySrcAccessOrder srcAccessOrder;
2723# 2339
2724cudaMemLocation srcLocHint;
2725# 2340
2726cudaMemLocation dstLocHint;
2727# 2341
2728unsigned flags;
2729# 2342
2730};
2731#endif
2732# 2347 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2733#if 0
2734# 2347
2735enum cudaMemcpy3DOperandType {
2736# 2348
2737cudaMemcpyOperandTypePointer = 1,
2738# 2349
2739cudaMemcpyOperandTypeArray,
2740# 2350
2741cudaMemcpyOperandTypeMax = 2147483647
2742# 2351
2743};
2744#endif
2745# 2356 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2746#if 0
2747# 2356
2748struct cudaOffset3D {
2749# 2357
2750size_t x;
2751# 2358
2752size_t y;
2753# 2359
2754size_t z;
2755# 2360
2756};
2757#endif
2758# 2365 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2759#if 0
2760# 2365
2761struct cudaMemcpy3DOperand {
2762# 2366
2763cudaMemcpy3DOperandType type;
2764# 2367
2765union {
2766# 2371
2767struct {
2768# 2372
2769void *ptr;
2770# 2373
2771size_t rowLength;
2772# 2374
2773size_t layerHeight;
2774# 2375
2775cudaMemLocation locHint;
2776# 2376
2777} ptr;
2778# 2381
2779struct {
2780# 2382
2781cudaArray_t array;
2782# 2383
2783cudaOffset3D offset;
2784# 2384
2785} array;
2786# 2385
2787} op;
2788# 2386
2789};
2790#endif
2791# 2388 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2792#if 0
2793# 2388
2794struct cudaMemcpy3DBatchOp {
2795# 2389
2796cudaMemcpy3DOperand src;
2797# 2390
2798cudaMemcpy3DOperand dst;
2799# 2391
2800cudaExtent extent;
2801# 2392
2802cudaMemcpySrcAccessOrder srcAccessOrder;
2803# 2393
2804unsigned flags;
2805# 2394
2806};
2807#endif
2808# 2400 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2809#if 0
2810# 2400
2811enum cudaDeviceP2PAttr {
2812# 2401
2813cudaDevP2PAttrPerformanceRank = 1,
2814# 2402
2815cudaDevP2PAttrAccessSupported,
2816# 2403
2817cudaDevP2PAttrNativeAtomicSupported,
2818# 2404
2819cudaDevP2PAttrCudaArrayAccessSupported
2820# 2405
2821};
2822#endif
2823# 2412 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2824#if 0
2825# 2412
2826struct CUuuid_st {
2827# 2413
2828char bytes[16];
2829# 2414
2830};
2831#endif
2832# 2415 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2833#if 0
2834typedef CUuuid_st
2835# 2415
2836CUuuid;
2837#endif
2838# 2417 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2839#if 0
2840typedef CUuuid_st
2841# 2417
2842cudaUUID_t;
2843#endif
2844# 2422 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
2845#if 0
2846# 2422
2847struct cudaDeviceProp {
2848# 2424
2849char name[256];
2850# 2425
2851cudaUUID_t uuid;
2852# 2426
2853char luid[8];
2854# 2427
2855unsigned luidDeviceNodeMask;
2856# 2428
2857size_t totalGlobalMem;
2858# 2429
2859size_t sharedMemPerBlock;
2860# 2430
2861int regsPerBlock;
2862# 2431
2863int warpSize;
2864# 2432
2865size_t memPitch;
2866# 2433
2867int maxThreadsPerBlock;
2868# 2434
2869int maxThreadsDim[3];
2870# 2435
2871int maxGridSize[3];
2872# 2436
2873int clockRate;
2874# 2437
2875size_t totalConstMem;
2876# 2438
2877int major;
2878# 2439
2879int minor;
2880# 2440
2881size_t textureAlignment;
2882# 2441
2883size_t texturePitchAlignment;
2884# 2442
2885int deviceOverlap;
2886# 2443
2887int multiProcessorCount;
2888# 2444
2889int kernelExecTimeoutEnabled;
2890# 2445
2891int integrated;
2892# 2446
2893int canMapHostMemory;
2894# 2447
2895int computeMode;
2896# 2448
2897int maxTexture1D;
2898# 2449
2899int maxTexture1DMipmap;
2900# 2450
2901int maxTexture1DLinear;
2902# 2451
2903int maxTexture2D[2];
2904# 2452
2905int maxTexture2DMipmap[2];
2906# 2453
2907int maxTexture2DLinear[3];
2908# 2454
2909int maxTexture2DGather[2];
2910# 2455
2911int maxTexture3D[3];
2912# 2456
2913int maxTexture3DAlt[3];
2914# 2457
2915int maxTextureCubemap;
2916# 2458
2917int maxTexture1DLayered[2];
2918# 2459
2919int maxTexture2DLayered[3];
2920# 2460
2921int maxTextureCubemapLayered[2];
2922# 2461
2923int maxSurface1D;
2924# 2462
2925int maxSurface2D[2];
2926# 2463
2927int maxSurface3D[3];
2928# 2464
2929int maxSurface1DLayered[2];
2930# 2465
2931int maxSurface2DLayered[3];
2932# 2466
2933int maxSurfaceCubemap;
2934# 2467
2935int maxSurfaceCubemapLayered[2];
2936# 2468
2937size_t surfaceAlignment;
2938# 2469
2939int concurrentKernels;
2940# 2470
2941int ECCEnabled;
2942# 2471
2943int pciBusID;
2944# 2472
2945int pciDeviceID;
2946# 2473
2947int pciDomainID;
2948# 2474
2949int tccDriver;
2950# 2475
2951int asyncEngineCount;
2952# 2476
2953int unifiedAddressing;
2954# 2477
2955int memoryClockRate;
2956# 2478
2957int memoryBusWidth;
2958# 2479
2959int l2CacheSize;
2960# 2480
2961int persistingL2CacheMaxSize;
2962# 2481
2963int maxThreadsPerMultiProcessor;
2964# 2482
2965int streamPrioritiesSupported;
2966# 2483
2967int globalL1CacheSupported;
2968# 2484
2969int localL1CacheSupported;
2970# 2485
2971size_t sharedMemPerMultiprocessor;
2972# 2486
2973int regsPerMultiprocessor;
2974# 2487
2975int managedMemory;
2976# 2488
2977int isMultiGpuBoard;
2978# 2489
2979int multiGpuBoardGroupID;
2980# 2490
2981int hostNativeAtomicSupported;
2982# 2491
2983int singleToDoublePrecisionPerfRatio;
2984# 2492
2985int pageableMemoryAccess;
2986# 2493
2987int concurrentManagedAccess;
2988# 2494
2989int computePreemptionSupported;
2990# 2495
2991int canUseHostPointerForRegisteredMem;
2992# 2496
2993int cooperativeLaunch;
2994# 2497
2995int cooperativeMultiDeviceLaunch;
2996# 2498
2997size_t sharedMemPerBlockOptin;
2998# 2499
2999int pageableMemoryAccessUsesHostPageTables;
3000# 2500
3001int directManagedMemAccessFromHost;
3002# 2501
3003int maxBlocksPerMultiProcessor;
3004# 2502
3005int accessPolicyMaxWindowSize;
3006# 2503
3007size_t reservedSharedMemPerBlock;
3008# 2504
3009int hostRegisterSupported;
3010# 2505
3011int sparseCudaArraySupported;
3012# 2506
3013int hostRegisterReadOnlySupported;
3014# 2507
3015int timelineSemaphoreInteropSupported;
3016# 2508
3017int memoryPoolsSupported;
3018# 2509
3019int gpuDirectRDMASupported;
3020# 2510
3021unsigned gpuDirectRDMAFlushWritesOptions;
3022# 2511
3023int gpuDirectRDMAWritesOrdering;
3024# 2512
3025unsigned memoryPoolSupportedHandleTypes;
3026# 2513
3027int deferredMappingCudaArraySupported;
3028# 2514
3029int ipcEventSupported;
3030# 2515
3031int clusterLaunch;
3032# 2516
3033int unifiedFunctionPointers;
3034# 2517
3035int reserved[63];
3036# 2518
3037};
3038#endif
3039# 2531 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3040#if 0
3041typedef
3042# 2528
3043struct cudaIpcEventHandle_st {
3044# 2530
3045char reserved[64];
3046# 2531
3047} cudaIpcEventHandle_t;
3048#endif
3049# 2539 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3050#if 0
3051typedef
3052# 2536
3053struct cudaIpcMemHandle_st {
3054# 2538
3055char reserved[64];
3056# 2539
3057} cudaIpcMemHandle_t;
3058#endif
3059# 2547 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3060#if 0
3061typedef
3062# 2544
3063struct cudaMemFabricHandle_st {
3064# 2546
3065char reserved[64];
3066# 2547
3067} cudaMemFabricHandle_t;
3068#endif
3069# 2552 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3070#if 0
3071# 2552
3072enum cudaExternalMemoryHandleType {
3073# 2556
3074cudaExternalMemoryHandleTypeOpaqueFd = 1,
3075# 2560
3076cudaExternalMemoryHandleTypeOpaqueWin32,
3077# 2564
3078cudaExternalMemoryHandleTypeOpaqueWin32Kmt,
3079# 2568
3080cudaExternalMemoryHandleTypeD3D12Heap,
3081# 2572
3082cudaExternalMemoryHandleTypeD3D12Resource,
3083# 2576
3084cudaExternalMemoryHandleTypeD3D11Resource,
3085# 2580
3086cudaExternalMemoryHandleTypeD3D11ResourceKmt,
3087# 2584
3088cudaExternalMemoryHandleTypeNvSciBuf
3089# 2585
3090};
3091#endif
3092# 2627 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3093#if 0
3094# 2627
3095struct cudaExternalMemoryHandleDesc {
3096# 2631
3097cudaExternalMemoryHandleType type;
3098# 2632
3099union {
3100# 2638
3101int fd;
3102# 2654 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3103struct {
3104# 2658
3105void *handle;
3106# 2663
3107const void *name;
3108# 2664
3109} win32;
3110# 2669
3111const void *nvSciBufObject;
3112# 2670
3113} handle;
3114# 2674
3115unsigned long long size;
3116# 2678
3117unsigned flags; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
3118# 2679
3119};
3120#endif
3121# 2684 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3122#if 0
3123# 2684
3124struct cudaExternalMemoryBufferDesc {
3125# 2688
3126unsigned long long offset;
3127# 2692
3128unsigned long long size;
3129# 2696
3130unsigned flags;
3131# 2697
3132};
3133#endif
3134# 2702 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3135#if 0
3136# 2702
3137struct cudaExternalMemoryMipmappedArrayDesc {
3138# 2707
3139unsigned long long offset;
3140# 2711
3141cudaChannelFormatDesc formatDesc;
3142# 2715
3143cudaExtent extent;
3144# 2720
3145unsigned flags;
3146# 2724
3147unsigned numLevels;
3148# 2725
3149};
3150#endif
3151# 2730 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3152#if 0
3153# 2730
3154enum cudaExternalSemaphoreHandleType {
3155# 2734
3156cudaExternalSemaphoreHandleTypeOpaqueFd = 1,
3157# 2738
3158cudaExternalSemaphoreHandleTypeOpaqueWin32,
3159# 2742
3160cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt,
3161# 2746
3162cudaExternalSemaphoreHandleTypeD3D12Fence,
3163# 2750
3164cudaExternalSemaphoreHandleTypeD3D11Fence,
3165# 2754
3166cudaExternalSemaphoreHandleTypeNvSciSync,
3167# 2758
3168cudaExternalSemaphoreHandleTypeKeyedMutex,
3169# 2762
3170cudaExternalSemaphoreHandleTypeKeyedMutexKmt,
3171# 2766
3172cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd,
3173# 2770
3174cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32
3175# 2771
3176};
3177#endif
3178# 2776 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3179#if 0
3180# 2776
3181struct cudaExternalSemaphoreHandleDesc {
3182# 2780
3183cudaExternalSemaphoreHandleType type;
3184# 2781
3185union {
3186# 2788
3187int fd;
3188# 2804 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3189struct {
3190# 2808
3191void *handle;
3192# 2813
3193const void *name;
3194# 2814
3195} win32;
3196# 2818
3197const void *nvSciSyncObj;
3198# 2819
3199} handle;
3200# 2823
3201unsigned flags; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
3202# 2824
3203};
3204#endif
3205# 2829 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3206#if 0
3207# 2829
3208struct cudaExternalSemaphoreSignalParams_v1 {
3209# 2830
3210struct {
3211# 2834
3212struct {
3213# 2838
3214unsigned long long value;
3215# 2839
3216} fence;
3217# 2840
3218union {
3219# 2845
3220void *fence;
3221# 2846
3222unsigned long long reserved;
3223# 2847
3224} nvSciSync;
3225# 2851
3226struct {
3227# 2855
3228unsigned long long key;
3229# 2856
3230} keyedMutex;
3231# 2857
3232} params;
3233# 2868 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3234unsigned flags;
3235# 2869
3236};
3237#endif
3238# 2874 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3239#if 0
3240# 2874
3241struct cudaExternalSemaphoreWaitParams_v1 {
3242# 2875
3243struct {
3244# 2879
3245struct {
3246# 2883
3247unsigned long long value;
3248# 2884
3249} fence;
3250# 2885
3251union {
3252# 2890
3253void *fence;
3254# 2891
3255unsigned long long reserved;
3256# 2892
3257} nvSciSync;
3258# 2896
3259struct {
3260# 2900
3261unsigned long long key;
3262# 2904
3263unsigned timeoutMs;
3264# 2905
3265} keyedMutex;
3266# 2906
3267} params;
3268# 2917 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3269unsigned flags;
3270# 2918
3271};
3272#endif
3273# 2923 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3274#if 0
3275# 2923
3276struct cudaExternalSemaphoreSignalParams {
3277# 2924
3278struct {
3279# 2928
3280struct {
3281# 2932
3282unsigned long long value;
3283# 2933
3284} fence;
3285# 2934
3286union {
3287# 2939
3288void *fence;
3289# 2940
3290unsigned long long reserved;
3291# 2941
3292} nvSciSync;
3293# 2945
3294struct {
3295# 2949
3296unsigned long long key;
3297# 2950
3298} keyedMutex;
3299# 2951
3300unsigned reserved[12];
3301# 2952
3302} params;
3303# 2963 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3304unsigned flags;
3305# 2964
3306unsigned reserved[16];
3307# 2965
3308};
3309#endif
3310# 2970 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3311#if 0
3312# 2970
3313struct cudaExternalSemaphoreWaitParams {
3314# 2971
3315struct {
3316# 2975
3317struct {
3318# 2979
3319unsigned long long value;
3320# 2980
3321} fence;
3322# 2981
3323union {
3324# 2986
3325void *fence;
3326# 2987
3327unsigned long long reserved;
3328# 2988
3329} nvSciSync;
3330# 2992
3331struct {
3332# 2996
3333unsigned long long key;
3334# 3000
3335unsigned timeoutMs;
3336# 3001
3337} keyedMutex;
3338# 3002
3339unsigned reserved[10];
3340# 3003
3341} params;
3342# 3014 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3343unsigned flags;
3344# 3015
3345unsigned reserved[16];
3346# 3016
3347};
3348#endif
3349# 3027 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3350#if 0
3351typedef cudaError
3352# 3027
3353cudaError_t;
3354#endif
3355# 3032 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3356#if 0
3357typedef struct CUstream_st *
3358# 3032
3359cudaStream_t;
3360#endif
3361# 3037 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3362#if 0
3363typedef struct CUevent_st *
3364# 3037
3365cudaEvent_t;
3366#endif
3367# 3042 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3368#if 0
3369typedef cudaGraphicsResource *
3370# 3042
3371cudaGraphicsResource_t;
3372#endif
3373# 3047 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3374#if 0
3375typedef struct CUexternalMemory_st *
3376# 3047
3377cudaExternalMemory_t;
3378#endif
3379# 3052 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3380#if 0
3381typedef struct CUexternalSemaphore_st *
3382# 3052
3383cudaExternalSemaphore_t;
3384#endif
3385# 3057 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3386#if 0
3387typedef struct CUgraph_st *
3388# 3057
3389cudaGraph_t;
3390#endif
3391# 3062 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3392#if 0
3393typedef struct CUgraphNode_st *
3394# 3062
3395cudaGraphNode_t;
3396#endif
3397# 3067 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3398#if 0
3399typedef struct CUuserObject_st *
3400# 3067
3401cudaUserObject_t;
3402#endif
3403# 3072 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3404#if 0
3405typedef unsigned long long
3406# 3072
3407cudaGraphConditionalHandle;
3408#endif
3409# 3077 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3410#if 0
3411typedef struct CUfunc_st *
3412# 3077
3413cudaFunction_t;
3414#endif
3415# 3082 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3416#if 0
3417typedef struct CUkern_st *
3418# 3082
3419cudaKernel_t;
3420#endif
3421# 3087 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3422#if 0
3423# 3087
3424enum cudaJitOption {
3425# 3094
3426cudaJitMaxRegisters,
3427# 3108 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3428cudaJitThreadsPerBlock,
3429# 3116
3430cudaJitWallTime,
3431# 3125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3432cudaJitInfoLogBuffer,
3433# 3134 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3434cudaJitInfoLogBufferSizeBytes,
3435# 3143 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3436cudaJitErrorLogBuffer,
3437# 3152 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3438cudaJitErrorLogBufferSizeBytes,
3439# 3160
3440cudaJitOptimizationLevel,
3441# 3168
3442cudaJitFallbackStrategy = 10,
3443# 3176
3444cudaJitGenerateDebugInfo,
3445# 3183
3446cudaJitLogVerbose,
3447# 3190
3448cudaJitGenerateLineInfo,
3449# 3198
3450cudaJitCacheMode,
3451# 3205
3452cudaJitPositionIndependentCode = 30,
3453# 3218 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3454cudaJitMinCtaPerSm,
3455# 3231 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3456cudaJitMaxThreadsPerBlock,
3457# 3241 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3458cudaJitOverrideDirectiveValues
3459# 3242
3460};
3461#endif
3462# 3248 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3463#if 0
3464# 3248
3465enum cudaLibraryOption {
3466# 3250
3467cudaLibraryHostUniversalFunctionAndDataTable,
3468# 3261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3469cudaLibraryBinaryIsPreserved
3470# 3262
3471};
3472#endif
3473# 3264 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3474#if 0
3475# 3264
3476struct cudalibraryHostUniversalFunctionAndDataTable {
3477# 3266
3478void *functionTable;
3479# 3267
3480size_t functionWindowSize;
3481# 3268
3482void *dataTable;
3483# 3269
3484size_t dataWindowSize;
3485# 3270
3486};
3487#endif
3488# 3275 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3489#if 0
3490# 3275
3491enum cudaJit_CacheMode {
3492# 3277
3493cudaJitCacheOptionNone,
3494# 3278
3495cudaJitCacheOptionCG,
3496# 3279
3497cudaJitCacheOptionCA
3498# 3280
3499};
3500#endif
3501# 3285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3502#if 0
3503# 3285
3504enum cudaJit_Fallback {
3505# 3287
3506cudaPreferPtx,
3507# 3289
3508cudaPreferBinary
3509# 3290
3510};
3511#endif
3512# 3295 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3513#if 0
3514typedef struct CUlib_st *
3515# 3295
3516cudaLibrary_t;
3517#endif
3518# 3300 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3519#if 0
3520typedef struct CUmemPoolHandle_st *
3521# 3300
3522cudaMemPool_t;
3523#endif
3524# 3305 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3525#if 0
3526# 3305
3527enum cudaCGScope {
3528# 3306
3529cudaCGScopeInvalid,
3530# 3307
3531cudaCGScopeGrid,
3532# 3308
3533cudaCGScopeMultiGrid
3534# 3309
3535};
3536#endif
3537# 3314 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3538#if 0
3539# 3314
3540struct cudaLaunchParams {
3541# 3316
3542void *func;
3543# 3317
3544dim3 gridDim;
3545# 3318
3546dim3 blockDim;
3547# 3319
3548void **args;
3549# 3320
3550size_t sharedMem;
3551# 3321
3552cudaStream_t stream;
3553# 3322
3554};
3555#endif
3556# 3327 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3557#if 0
3558# 3327
3559struct cudaKernelNodeParams {
3560# 3328
3561void *func;
3562# 3329
3563dim3 gridDim;
3564# 3330
3565dim3 blockDim;
3566# 3331
3567unsigned sharedMemBytes;
3568# 3332
3569void **kernelParams;
3570# 3333
3571void **extra;
3572# 3334
3573};
3574#endif
3575# 3339 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3576#if 0
3577# 3339
3578struct cudaKernelNodeParamsV2 {
3579# 3340
3580void *func;
3581# 3342
3582dim3 gridDim;
3583# 3343
3584dim3 blockDim;
3585# 3349
3586unsigned sharedMemBytes;
3587# 3350
3588void **kernelParams;
3589# 3351
3590void **extra;
3591# 3352
3592};
3593#endif
3594# 3357 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3595#if 0
3596# 3357
3597struct cudaExternalSemaphoreSignalNodeParams {
3598# 3358
3599cudaExternalSemaphore_t *extSemArray;
3600# 3359
3601const cudaExternalSemaphoreSignalParams *paramsArray;
3602# 3360
3603unsigned numExtSems;
3604# 3361
3605};
3606#endif
3607# 3366 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3608#if 0
3609# 3366
3610struct cudaExternalSemaphoreSignalNodeParamsV2 {
3611# 3367
3612cudaExternalSemaphore_t *extSemArray;
3613# 3368
3614const cudaExternalSemaphoreSignalParams *paramsArray;
3615# 3369
3616unsigned numExtSems;
3617# 3370
3618};
3619#endif
3620# 3375 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3621#if 0
3622# 3375
3623struct cudaExternalSemaphoreWaitNodeParams {
3624# 3376
3625cudaExternalSemaphore_t *extSemArray;
3626# 3377
3627const cudaExternalSemaphoreWaitParams *paramsArray;
3628# 3378
3629unsigned numExtSems;
3630# 3379
3631};
3632#endif
3633# 3384 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3634#if 0
3635# 3384
3636struct cudaExternalSemaphoreWaitNodeParamsV2 {
3637# 3385
3638cudaExternalSemaphore_t *extSemArray;
3639# 3386
3640const cudaExternalSemaphoreWaitParams *paramsArray;
3641# 3387
3642unsigned numExtSems;
3643# 3388
3644};
3645#endif
3646# 3390 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3647#if 0
3648# 3390
3649enum cudaGraphConditionalHandleFlags {
3650# 3391
3651cudaGraphCondAssignDefault = 1
3652# 3392
3653};
3654#endif
3655# 3397 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3656#if 0
3657# 3397
3658enum cudaGraphConditionalNodeType {
3659# 3398
3660cudaGraphCondTypeIf,
3661# 3399
3662cudaGraphCondTypeWhile,
3663# 3400
3664cudaGraphCondTypeSwitch
3665# 3401
3666};
3667#endif
3668# 3406 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3669#if 0
3670# 3406
3671struct cudaConditionalNodeParams {
3672# 3407
3673cudaGraphConditionalHandle handle;
3674# 3410
3675cudaGraphConditionalNodeType type;
3676# 3411
3677unsigned size;
3678# 3413
3679cudaGraph_t *phGraph_out;
3680# 3432 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3681};
3682#endif
3683# 3437 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3684#if 0
3685# 3437
3686enum cudaGraphNodeType {
3687# 3438
3688cudaGraphNodeTypeKernel,
3689# 3439
3690cudaGraphNodeTypeMemcpy,
3691# 3440
3692cudaGraphNodeTypeMemset,
3693# 3441
3694cudaGraphNodeTypeHost,
3695# 3442
3696cudaGraphNodeTypeGraph,
3697# 3443
3698cudaGraphNodeTypeEmpty,
3699# 3444
3700cudaGraphNodeTypeWaitEvent,
3701# 3445
3702cudaGraphNodeTypeEventRecord,
3703# 3446
3704cudaGraphNodeTypeExtSemaphoreSignal,
3705# 3447
3706cudaGraphNodeTypeExtSemaphoreWait,
3707# 3448
3708cudaGraphNodeTypeMemAlloc,
3709# 3449
3710cudaGraphNodeTypeMemFree,
3711# 3450
3712cudaGraphNodeTypeConditional = 13,
3713# 3467 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3714cudaGraphNodeTypeCount
3715# 3468
3716};
3717#endif
3718# 3473 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3719#if 0
3720# 3473
3721struct cudaChildGraphNodeParams {
3722# 3474
3723cudaGraph_t graph;
3724# 3476
3725};
3726#endif
3727# 3481 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3728#if 0
3729# 3481
3730struct cudaEventRecordNodeParams {
3731# 3482
3732cudaEvent_t event;
3733# 3483
3734};
3735#endif
3736# 3488 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3737#if 0
3738# 3488
3739struct cudaEventWaitNodeParams {
3740# 3489
3741cudaEvent_t event;
3742# 3490
3743};
3744#endif
3745# 3495 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3746#if 0
3747# 3495
3748struct cudaGraphNodeParams {
3749# 3496
3750cudaGraphNodeType type;
3751# 3497
3752int reserved0[3];
3753# 3499
3754union {
3755# 3500
3756long long reserved1[29];
3757# 3501
3758cudaKernelNodeParamsV2 kernel;
3759# 3502
3760cudaMemcpyNodeParams memcpy;
3761# 3503
3762cudaMemsetParamsV2 memset;
3763# 3504
3764cudaHostNodeParamsV2 host;
3765# 3505
3766cudaChildGraphNodeParams graph;
3767# 3506
3768cudaEventWaitNodeParams eventWait;
3769# 3507
3770cudaEventRecordNodeParams eventRecord;
3771# 3508
3772cudaExternalSemaphoreSignalNodeParamsV2 extSemSignal;
3773# 3509
3774cudaExternalSemaphoreWaitNodeParamsV2 extSemWait;
3775# 3510
3776cudaMemAllocNodeParamsV2 alloc;
3777# 3511
3778cudaMemFreeNodeParams free;
3779# 3512
3780cudaConditionalNodeParams conditional; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
3781# 3513
3782};
3783# 3515
3784long long reserved2;
3785# 3516
3786};
3787#endif
3788# 3528 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3789#if 0
3790typedef
3791# 3521
3792enum cudaGraphDependencyType_enum {
3793# 3522
3794cudaGraphDependencyTypeDefault,
3795# 3523
3796cudaGraphDependencyTypeProgrammatic
3797# 3528
3798} cudaGraphDependencyType;
3799#endif
3800# 3558 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3801#if 0
3802typedef
3803# 3535 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3804struct cudaGraphEdgeData_st {
3805# 3536
3806unsigned char from_port;
3807# 3546 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3808unsigned char to_port;
3809# 3553
3810unsigned char type;
3811# 3556
3812unsigned char reserved[5];
3813# 3558
3814} cudaGraphEdgeData;
3815#endif
3816# 3579 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3817typedef struct CUgraphExec_st *cudaGraphExec_t;
3818# 3584
3819#if 0
3820# 3584
3821enum cudaGraphExecUpdateResult {
3822# 3585
3823cudaGraphExecUpdateSuccess,
3824# 3586
3825cudaGraphExecUpdateError,
3826# 3587
3827cudaGraphExecUpdateErrorTopologyChanged,
3828# 3588
3829cudaGraphExecUpdateErrorNodeTypeChanged,
3830# 3589
3831cudaGraphExecUpdateErrorFunctionChanged,
3832# 3590
3833cudaGraphExecUpdateErrorParametersChanged,
3834# 3591
3835cudaGraphExecUpdateErrorNotSupported,
3836# 3592
3837cudaGraphExecUpdateErrorUnsupportedFunctionChange,
3838# 3593
3839cudaGraphExecUpdateErrorAttributesChanged
3840# 3594
3841};
3842#endif
3843# 3606 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3844#if 0
3845typedef
3846# 3599
3847enum cudaGraphInstantiateResult {
3848# 3600
3849cudaGraphInstantiateSuccess,
3850# 3601
3851cudaGraphInstantiateError,
3852# 3602
3853cudaGraphInstantiateInvalidStructure,
3854# 3603
3855cudaGraphInstantiateNodeOperationNotSupported,
3856# 3604
3857cudaGraphInstantiateMultipleDevicesNotSupported,
3858# 3605
3859cudaGraphInstantiateConditionalHandleUnused
3860# 3606
3861} cudaGraphInstantiateResult;
3862#endif
3863# 3617 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3864#if 0
3865typedef
3866# 3611
3867struct cudaGraphInstantiateParams_st {
3868# 3613
3869unsigned long long flags;
3870# 3614
3871cudaStream_t uploadStream;
3872# 3615
3873cudaGraphNode_t errNode_out;
3874# 3616
3875cudaGraphInstantiateResult result_out;
3876# 3617
3877} cudaGraphInstantiateParams;
3878#endif
3879# 3639 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3880#if 0
3881typedef
3882# 3622
3883struct cudaGraphExecUpdateResultInfo_st {
3884# 3626
3885cudaGraphExecUpdateResult result;
3886# 3633
3887cudaGraphNode_t errorNode;
3888# 3638
3889cudaGraphNode_t errorFromNode;
3890# 3639
3891} cudaGraphExecUpdateResultInfo;
3892#endif
3893# 3644 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3894typedef struct CUgraphDeviceUpdatableNode_st *cudaGraphDeviceNode_t;
3895# 3649
3896#if 0
3897# 3649
3898enum cudaGraphKernelNodeField {
3899# 3651
3900cudaGraphKernelNodeFieldInvalid,
3901# 3652
3902cudaGraphKernelNodeFieldGridDim,
3903# 3653
3904cudaGraphKernelNodeFieldParam,
3905# 3654
3906cudaGraphKernelNodeFieldEnabled
3907# 3655
3908};
3909#endif
3910# 3660 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3911#if 0
3912# 3660
3913struct cudaGraphKernelNodeUpdate {
3914# 3661
3915cudaGraphDeviceNode_t node;
3916# 3662
3917cudaGraphKernelNodeField field;
3918# 3663
3919union {
3920# 3665
3921dim3 gridDim;
3922# 3670
3923struct {
3924# 3671
3925const void *pValue;
3926# 3672
3927size_t offset;
3928# 3673
3929size_t size;
3930# 3674
3931} param;
3932# 3675
3933unsigned isEnabled; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
3934# 3676
3935} updateData;
3936# 3677
3937};
3938#endif
3939# 3683 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3940#if 0
3941# 3683
3942enum cudaGetDriverEntryPointFlags {
3943# 3684
3944cudaEnableDefault,
3945# 3685
3946cudaEnableLegacyStream,
3947# 3686
3948cudaEnablePerThreadDefaultStream
3949# 3687
3950};
3951#endif
3952# 3692 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3953#if 0
3954# 3692
3955enum cudaDriverEntryPointQueryResult {
3956# 3693
3957cudaDriverEntryPointSuccess,
3958# 3694
3959cudaDriverEntryPointSymbolNotFound,
3960# 3695
3961cudaDriverEntryPointVersionNotSufficent
3962# 3696
3963};
3964#endif
3965# 3701 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3966#if 0
3967# 3701
3968enum cudaGraphDebugDotFlags {
3969# 3702
3970cudaGraphDebugDotFlagsVerbose = (1 << 0),
3971# 3703
3972cudaGraphDebugDotFlagsKernelNodeParams = (1 << 2),
3973# 3704
3974cudaGraphDebugDotFlagsMemcpyNodeParams = (1 << 3),
3975# 3705
3976cudaGraphDebugDotFlagsMemsetNodeParams = (1 << 4),
3977# 3706
3978cudaGraphDebugDotFlagsHostNodeParams = (1 << 5),
3979# 3707
3980cudaGraphDebugDotFlagsEventNodeParams = (1 << 6),
3981# 3708
3982cudaGraphDebugDotFlagsExtSemasSignalNodeParams = (1 << 7),
3983# 3709
3984cudaGraphDebugDotFlagsExtSemasWaitNodeParams = (1 << 8),
3985# 3710
3986cudaGraphDebugDotFlagsKernelNodeAttributes = (1 << 9),
3987# 3711
3988cudaGraphDebugDotFlagsHandles = (1 << 10),
3989# 3712
3990cudaGraphDebugDotFlagsConditionalNodeParams = (1 << 15)
3991# 3713
3992};
3993#endif
3994# 3718 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
3995#if 0
3996# 3718
3997enum cudaGraphInstantiateFlags {
3998# 3719
3999cudaGraphInstantiateFlagAutoFreeOnLaunch = 1,
4000# 3720
4001cudaGraphInstantiateFlagUpload,
4002# 3723
4003cudaGraphInstantiateFlagDeviceLaunch = 4,
4004# 3726
4005cudaGraphInstantiateFlagUseNodePriority = 8
4006# 3728
4007};
4008#endif
4009# 3749 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4010#if 0
4011typedef
4012# 3746
4013enum cudaLaunchMemSyncDomain {
4014# 3747
4015cudaLaunchMemSyncDomainDefault,
4016# 3748
4017cudaLaunchMemSyncDomainRemote
4018# 3749
4019} cudaLaunchMemSyncDomain;
4020#endif
4021# 3765 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4022#if 0
4023typedef
4024# 3762
4025struct cudaLaunchMemSyncDomainMap_st {
4026# 3763
4027unsigned char default_;
4028# 3764
4029unsigned char remote;
4030# 3765
4031} cudaLaunchMemSyncDomainMap;
4032#endif
4033# 3917 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4034#if 0
4035typedef
4036# 3770 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4037enum cudaLaunchAttributeID {
4038# 3771
4039cudaLaunchAttributeIgnore,
4040# 3772
4041cudaLaunchAttributeAccessPolicyWindow,
4042# 3774
4043cudaLaunchAttributeCooperative,
4044# 3776
4045cudaLaunchAttributeSynchronizationPolicy,
4046# 3777
4047cudaLaunchAttributeClusterDimension,
4048# 3779
4049cudaLaunchAttributeClusterSchedulingPolicyPreference,
4050# 3781
4051cudaLaunchAttributeProgrammaticStreamSerialization,
4052# 3792 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4053cudaLaunchAttributeProgrammaticEvent,
4054# 3818 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4055cudaLaunchAttributePriority,
4056# 3820
4057cudaLaunchAttributeMemSyncDomainMap,
4058# 3822
4059cudaLaunchAttributeMemSyncDomain,
4060# 3824
4061cudaLaunchAttributePreferredClusterDimension,
4062# 3860 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4063cudaLaunchAttributeLaunchCompletionEvent,
4064# 3882 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4065cudaLaunchAttributeDeviceUpdatableKernelNode,
4066# 3910 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4067cudaLaunchAttributePreferredSharedMemoryCarveout
4068# 3917
4069} cudaLaunchAttributeID;
4070#endif
4071# 4013 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4072#if 0
4073typedef
4074# 3922 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4075union cudaLaunchAttributeValue {
4076# 3923
4077char pad[64];
4078# 3924
4079cudaAccessPolicyWindow accessPolicyWindow;
4080# 3925
4081int cooperative;
4082# 3927
4083cudaSynchronizationPolicy syncPolicy;
4084# 3941 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4085struct {
4086# 3942
4087unsigned x;
4088# 3943
4089unsigned y;
4090# 3944
4091unsigned z;
4092# 3945
4093} clusterDim;
4094# 3946
4095cudaClusterSchedulingPolicy clusterSchedulingPolicyPreference;
4096# 3949
4097int programmaticStreamSerializationAllowed;
4098# 3960 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4099struct {
4100# 3961
4101cudaEvent_t event;
4102# 3962
4103int flags;
4104# 3963
4105int triggerAtBlockStart;
4106# 3964
4107} programmaticEvent;
4108# 3965
4109int priority;
4110# 3966
4111cudaLaunchMemSyncDomainMap memSyncDomainMap;
4112# 3969
4113cudaLaunchMemSyncDomain memSyncDomain;
4114# 3984 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4115struct {
4116# 3985
4117unsigned x;
4118# 3986
4119unsigned y;
4120# 3987
4121unsigned z;
4122# 3988
4123} preferredClusterDim;
4124# 3997 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4125struct {
4126# 3998
4127cudaEvent_t event;
4128# 3999
4129int flags;
4130# 4000
4131} launchCompletionEvent;
4132# 4008
4133struct {
4134# 4009
4135int deviceUpdatable;
4136# 4010
4137cudaGraphDeviceNode_t devNode;
4138# 4011
4139} deviceUpdatableKernelNode;
4140# 4012
4141unsigned sharedMemCarveout; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
4142# 4013
4143} cudaLaunchAttributeValue;
4144#endif
4145# 4022 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4146#if 0
4147typedef
4148# 4018
4149struct cudaLaunchAttribute_st {
4150# 4019
4151cudaLaunchAttributeID id;
4152# 4020
4153char pad[(8) - sizeof(cudaLaunchAttributeID)];
4154# 4021
4155cudaLaunchAttributeValue val;
4156# 4022
4157} cudaLaunchAttribute;
4158#endif
4159# 4034 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4160#if 0
4161typedef
4162# 4027
4163struct cudaLaunchConfig_st {
4164# 4028
4165dim3 gridDim;
4166# 4029
4167dim3 blockDim;
4168# 4030
4169size_t dynamicSmemBytes;
4170# 4031
4171cudaStream_t stream;
4172# 4032
4173cudaLaunchAttribute *attrs;
4174# 4033
4175unsigned numAttrs; __pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)__pad__(volatile char:8;)
4176# 4034
4177} cudaLaunchConfig_t;
4178#endif
4179# 4061 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4180#if 0
4181# 4061
4182enum cudaDeviceNumaConfig {
4183# 4062
4184cudaDeviceNumaConfigNone,
4185# 4063
4186cudaDeviceNumaConfigNumaNode
4187# 4064
4188};
4189#endif
4190# 4069 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4191typedef struct cudaAsyncCallbackEntry *cudaAsyncCallbackHandle_t;
4192# 4071
4193struct cudaAsyncCallbackEntry;
4194# 4078
4195#if 0
4196typedef
4197# 4076
4198enum cudaAsyncNotificationType_enum {
4199# 4077
4200cudaAsyncNotificationTypeOverBudget = 1
4201# 4078
4202} cudaAsyncNotificationType;
4203#endif
4204# 4091 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4205#if 0
4206typedef
4207# 4083
4208struct cudaAsyncNotificationInfo {
4209# 4085
4210cudaAsyncNotificationType type;
4211# 4086
4212union {
4213# 4087
4214struct {
4215# 4088
4216unsigned long long bytesOverBudget;
4217# 4089
4218} overBudget;
4219# 4090
4220} info;
4221# 4091
4222} cudaAsyncNotificationInfo_t;
4223#endif
4224# 4093 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_types.h"
4225typedef void (*cudaAsyncCallback)(cudaAsyncNotificationInfo_t *, void *, cudaAsyncCallbackHandle_t);
4226# 86 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_types.h"
4227#if 0
4228# 86
4229enum cudaSurfaceBoundaryMode {
4230# 88
4231cudaBoundaryModeZero,
4232# 89
4233cudaBoundaryModeClamp,
4234# 90
4235cudaBoundaryModeTrap
4236# 91
4237};
4238#endif
4239# 96 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_types.h"
4240#if 0
4241# 96
4242enum cudaSurfaceFormatMode {
4243# 98
4244cudaFormatModeForced,
4245# 99
4246cudaFormatModeAuto
4247# 100
4248};
4249#endif
4250# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_types.h"
4251#if 0
4252typedef unsigned long long
4253# 105
4254cudaSurfaceObject_t;
4255#endif
4256# 86 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_types.h"
4257#if 0
4258# 86
4259enum cudaTextureAddressMode {
4260# 88
4261cudaAddressModeWrap,
4262# 89
4263cudaAddressModeClamp,
4264# 90
4265cudaAddressModeMirror,
4266# 91
4267cudaAddressModeBorder
4268# 92
4269};
4270#endif
4271# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_types.h"
4272#if 0
4273# 97
4274enum cudaTextureFilterMode {
4275# 99
4276cudaFilterModePoint,
4277# 100
4278cudaFilterModeLinear
4279# 101
4280};
4281#endif
4282# 106 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_types.h"
4283#if 0
4284# 106
4285enum cudaTextureReadMode {
4286# 108
4287cudaReadModeElementType,
4288# 109
4289cudaReadModeNormalizedFloat
4290# 110
4291};
4292#endif
4293# 115 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_types.h"
4294#if 0
4295# 115
4296struct cudaTextureDesc {
4297# 120
4298cudaTextureAddressMode addressMode[3];
4299# 124
4300cudaTextureFilterMode filterMode;
4301# 128
4302cudaTextureReadMode readMode;
4303# 132
4304int sRGB;
4305# 136
4306float borderColor[4];
4307# 140
4308int normalizedCoords;
4309# 144
4310unsigned maxAnisotropy;
4311# 148
4312cudaTextureFilterMode mipmapFilterMode;
4313# 152
4314float mipmapLevelBias;
4315# 156
4316float minMipmapLevelClamp;
4317# 160
4318float maxMipmapLevelClamp;
4319# 164
4320int disableTrilinearOptimization;
4321# 168
4322int seamlessCubemap;
4323# 169
4324};
4325#endif
4326# 174 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_types.h"
4327#if 0
4328typedef unsigned long long
4329# 174
4330cudaTextureObject_t;
4331#endif
4332# 94 "/usr/local/cuda/bin/../targets/x86_64-linux/include/library_types.h"
4333typedef
4334# 57
4335enum cudaDataType_t {
4336# 59
4337CUDA_R_16F = 2,
4338# 60
4339CUDA_C_16F = 6,
4340# 61
4341CUDA_R_16BF = 14,
4342# 62
4343CUDA_C_16BF,
4344# 63
4345CUDA_R_32F = 0,
4346# 64
4347CUDA_C_32F = 4,
4348# 65
4349CUDA_R_64F = 1,
4350# 66
4351CUDA_C_64F = 5,
4352# 67
4353CUDA_R_4I = 16,
4354# 68
4355CUDA_C_4I,
4356# 69
4357CUDA_R_4U,
4358# 70
4359CUDA_C_4U,
4360# 71
4361CUDA_R_8I = 3,
4362# 72
4363CUDA_C_8I = 7,
4364# 73
4365CUDA_R_8U,
4366# 74
4367CUDA_C_8U,
4368# 75
4369CUDA_R_16I = 20,
4370# 76
4371CUDA_C_16I,
4372# 77
4373CUDA_R_16U,
4374# 78
4375CUDA_C_16U,
4376# 79
4377CUDA_R_32I = 10,
4378# 80
4379CUDA_C_32I,
4380# 81
4381CUDA_R_32U,
4382# 82
4383CUDA_C_32U,
4384# 83
4385CUDA_R_64I = 24,
4386# 84
4387CUDA_C_64I,
4388# 85
4389CUDA_R_64U,
4390# 86
4391CUDA_C_64U,
4392# 87
4393CUDA_R_8F_E4M3,
4394# 88
4395CUDA_R_8F_UE4M3 = CUDA_R_8F_E4M3,
4396# 89
4397CUDA_R_8F_E5M2,
4398# 90
4399CUDA_R_8F_UE8M0,
4400# 91
4401CUDA_R_6F_E2M3,
4402# 92
4403CUDA_R_6F_E3M2,
4404# 93
4405CUDA_R_4F_E2M1
4406# 94
4407} cudaDataType;
4408# 102
4409typedef
4410# 97
4411enum libraryPropertyType_t {
4412# 99
4413MAJOR_VERSION,
4414# 100
4415MINOR_VERSION,
4416# 101
4417PATCH_LEVEL
4418# 102
4419} libraryPropertyType;
4420# 306 "/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3
4421namespace std {
4422# 308
4423typedef unsigned long size_t;
4424# 309
4425typedef long ptrdiff_t;
4426# 312
4427typedef __decltype((nullptr)) nullptr_t;
4428# 315
4429#pragma GCC visibility push ( default )
4430# 318
4431__attribute((__noreturn__, __always_inline__)) inline void
4432# 319
4433__terminate() noexcept
4434# 320
4435{
4436# 321
4437void terminate() noexcept __attribute((__noreturn__));
4438# 322
4439terminate();
4440# 323
4441}
4442#pragma GCC visibility pop
4443}
4444# 339 "/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3
4445namespace std {
4446# 341
4447inline namespace __cxx11 __attribute((__abi_tag__("cxx11"))) { }
4448# 342
4449}
4450# 343
4451namespace __gnu_cxx {
4452# 345
4453inline namespace __cxx11 __attribute((__abi_tag__("cxx11"))) { }
4454# 346
4455}
4456# 532 "/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h" 3
4457namespace std {
4458# 534
4459#pragma GCC visibility push ( default )
4460# 540
4461constexpr bool __is_constant_evaluated() noexcept
4462# 541
4463{
4464# 547
4465return __builtin_is_constant_evaluated();
4466# 551
4467}
4468#pragma GCC visibility pop
4469}
4470# 34 "/usr/include/stdlib.h" 3
4471extern "C" {
4472# 63 "/usr/include/stdlib.h" 3
4473typedef
4474# 60
4475struct {
4476# 61
4477int quot;
4478# 62
4479int rem;
4480# 63
4481} div_t;
4482# 71
4483typedef
4484# 68
4485struct {
4486# 69
4487long quot;
4488# 70
4489long rem;
4490# 71
4491} ldiv_t;
4492# 81
4493__extension__ typedef
4494# 78
4495struct {
4496# 79
4497long long quot;
4498# 80
4499long long rem;
4500# 81
4501} lldiv_t;
4502# 98 "/usr/include/stdlib.h" 3
4503extern size_t __ctype_get_mb_cur_max() noexcept(true);
4504# 102
4505extern double atof(const char * __nptr) noexcept(true)
4506# 103
4507 __attribute((__pure__)) __attribute((__nonnull__(1)));
4508# 105
4509extern int atoi(const char * __nptr) noexcept(true)
4510# 106
4511 __attribute((__pure__)) __attribute((__nonnull__(1)));
4512# 108
4513extern long atol(const char * __nptr) noexcept(true)
4514# 109
4515 __attribute((__pure__)) __attribute((__nonnull__(1)));
4516# 113
4517__extension__ extern long long atoll(const char * __nptr) noexcept(true)
4518# 114
4519 __attribute((__pure__)) __attribute((__nonnull__(1)));
4520# 118
4521extern double strtod(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4522# 120
4523 __attribute((__nonnull__(1)));
4524# 124
4525extern float strtof(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4526# 125
4527 __attribute((__nonnull__(1)));
4528# 127
4529extern long double strtold(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4530# 129
4531 __attribute((__nonnull__(1)));
4532# 141 "/usr/include/stdlib.h" 3
4533extern _Float32 strtof32(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4534# 143
4535 __attribute((__nonnull__(1)));
4536# 147
4537extern _Float64 strtof64(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4538# 149
4539 __attribute((__nonnull__(1)));
4540# 153
4541extern _Float128 strtof128(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4542# 155
4543 __attribute((__nonnull__(1)));
4544# 159
4545extern _Float32x strtof32x(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4546# 161
4547 __attribute((__nonnull__(1)));
4548# 165
4549extern _Float64x strtof64x(const char *__restrict__ __nptr, char **__restrict__ __endptr) noexcept(true)
4550# 167
4551 __attribute((__nonnull__(1)));
4552# 177 "/usr/include/stdlib.h" 3
4553extern long strtol(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtol")
4554# 179
4555 __attribute((__nonnull__(1)));
4556# 181
4557extern unsigned long strtoul(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoul")
4558# 183
4559 __attribute((__nonnull__(1)));
4560# 188
4561__extension__ extern long long strtoq(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoll")
4562# 190
4563 __attribute((__nonnull__(1)));
4564# 193
4565__extension__ extern unsigned long long strtouq(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoull")
4566# 195
4567 __attribute((__nonnull__(1)));
4568# 201
4569__extension__ extern long long strtoll(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoll")
4570# 203
4571 __attribute((__nonnull__(1)));
4572# 206
4573__extension__ extern unsigned long long strtoull(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoull")
4574# 208
4575 __attribute((__nonnull__(1)));
4576# 215
4577extern long strtol(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtol")
4578# 218
4579 __attribute((__nonnull__(1)));
4580# 219
4581extern unsigned long strtoul(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoul")
4582# 223
4583 __attribute((__nonnull__(1)));
4584# 226
4585__extension__ extern long long strtoq(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoll")
4586# 229
4587 __attribute((__nonnull__(1)));
4588# 231
4589__extension__ extern unsigned long long strtouq(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoull")
4590# 235
4591 __attribute((__nonnull__(1)));
4592# 238
4593__extension__ extern long long strtoll(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoll")
4594# 241
4595 __attribute((__nonnull__(1)));
4596# 243
4597__extension__ extern unsigned long long strtoull(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base) noexcept(true) __asm__("__isoc23_strtoull")
4598# 247
4599 __attribute((__nonnull__(1)));
4600# 278 "/usr/include/stdlib.h" 3
4601extern int strfromd(char * __dest, size_t __size, const char * __format, double __f) noexcept(true)
4602# 280
4603 __attribute((__nonnull__(3)));
4604# 282
4605extern int strfromf(char * __dest, size_t __size, const char * __format, float __f) noexcept(true)
4606# 284
4607 __attribute((__nonnull__(3)));
4608# 286
4609extern int strfroml(char * __dest, size_t __size, const char * __format, long double __f) noexcept(true)
4610# 288
4611 __attribute((__nonnull__(3)));
4612# 298 "/usr/include/stdlib.h" 3
4613extern int strfromf32(char * __dest, size_t __size, const char * __format, _Float32 __f) noexcept(true)
4614# 300
4615 __attribute((__nonnull__(3)));
4616# 304
4617extern int strfromf64(char * __dest, size_t __size, const char * __format, _Float64 __f) noexcept(true)
4618# 306
4619 __attribute((__nonnull__(3)));
4620# 310
4621extern int strfromf128(char * __dest, size_t __size, const char * __format, _Float128 __f) noexcept(true)
4622# 312
4623 __attribute((__nonnull__(3)));
4624# 316
4625extern int strfromf32x(char * __dest, size_t __size, const char * __format, _Float32x __f) noexcept(true)
4626# 318
4627 __attribute((__nonnull__(3)));
4628# 322
4629extern int strfromf64x(char * __dest, size_t __size, const char * __format, _Float64x __f) noexcept(true)
4630# 324
4631 __attribute((__nonnull__(3)));
4632# 340 "/usr/include/stdlib.h" 3
4633extern long strtol_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtol_l")
4634# 342
4635 __attribute((__nonnull__(1, 4)));
4636# 344
4637extern unsigned long strtoul_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoul_l")
4638# 347
4639 __attribute((__nonnull__(1, 4)));
4640# 350
4641__extension__ extern long long strtoll_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoll_l")
4642# 353
4643 __attribute((__nonnull__(1, 4)));
4644# 356
4645__extension__ extern unsigned long long strtoull_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoull_l")
4646# 359
4647 __attribute((__nonnull__(1, 4)));
4648# 365
4649extern long strtol_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtol_l")
4650# 369
4651 __attribute((__nonnull__(1, 4)));
4652# 370
4653extern unsigned long strtoul_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoul_l")
4654# 375
4655 __attribute((__nonnull__(1, 4)));
4656# 377
4657__extension__ extern long long strtoll_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoll_l")
4658# 382
4659 __attribute((__nonnull__(1, 4)));
4660# 384
4661__extension__ extern unsigned long long strtoull_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, int __base, locale_t __loc) noexcept(true) __asm__("__isoc23_strtoull_l")
4662# 389
4663 __attribute((__nonnull__(1, 4)));
4664# 415 "/usr/include/stdlib.h" 3
4665extern double strtod_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4666# 417
4667 __attribute((__nonnull__(1, 3)));
4668# 419
4669extern float strtof_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4670# 421
4671 __attribute((__nonnull__(1, 3)));
4672# 423
4673extern long double strtold_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4674# 426
4675 __attribute((__nonnull__(1, 3)));
4676# 436 "/usr/include/stdlib.h" 3
4677extern _Float32 strtof32_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4678# 439
4679 __attribute((__nonnull__(1, 3)));
4680# 443
4681extern _Float64 strtof64_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4682# 446
4683 __attribute((__nonnull__(1, 3)));
4684# 450
4685extern _Float128 strtof128_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4686# 453
4687 __attribute((__nonnull__(1, 3)));
4688# 457
4689extern _Float32x strtof32x_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4690# 460
4691 __attribute((__nonnull__(1, 3)));
4692# 464
4693extern _Float64x strtof64x_l(const char *__restrict__ __nptr, char **__restrict__ __endptr, locale_t __loc) noexcept(true)
4694# 467
4695 __attribute((__nonnull__(1, 3)));
4696# 505 "/usr/include/stdlib.h" 3
4697extern char *l64a(long __n) noexcept(true);
4698# 508
4699extern long a64l(const char * __s) noexcept(true)
4700# 509
4701 __attribute((__pure__)) __attribute((__nonnull__(1)));
4702# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4703extern "C" {
4704# 33
4705typedef __u_char u_char;
4706# 34
4707typedef __u_short u_short;
4708# 35
4709typedef __u_int u_int;
4710# 36
4711typedef __u_long u_long;
4712# 37
4713typedef __quad_t quad_t;
4714# 38
4715typedef __u_quad_t u_quad_t;
4716# 39
4717typedef __fsid_t fsid_t;
4718# 42
4719typedef __loff_t loff_t;
4720# 47
4721typedef __ino_t ino_t;
4722# 54
4723typedef __ino64_t ino64_t;
4724# 59
4725typedef __dev_t dev_t;
4726# 64
4727typedef __gid_t gid_t;
4728# 69
4729typedef __mode_t mode_t;
4730# 74
4731typedef __nlink_t nlink_t;
4732# 79
4733typedef __uid_t uid_t;
4734# 85
4735typedef __off_t off_t;
4736# 92
4737typedef __off64_t off64_t;
4738# 97
4739typedef __pid_t pid_t;
4740# 103
4741typedef __id_t id_t;
4742# 108
4743typedef __ssize_t ssize_t;
4744# 114
4745typedef __daddr_t daddr_t;
4746# 115
4747typedef __caddr_t caddr_t;
4748# 121
4749typedef __key_t key_t;
4750# 7 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 3
4751typedef __clock_t clock_t;
4752# 7 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 3
4753typedef __clockid_t clockid_t;
4754# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3
4755typedef __time_t time_t;
4756# 7 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 3
4757typedef __timer_t timer_t;
4758# 134 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4759typedef __useconds_t useconds_t;
4760# 138
4761typedef __suseconds_t suseconds_t;
4762# 148 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4763typedef unsigned long ulong;
4764# 149
4765typedef unsigned short ushort;
4766# 150
4767typedef unsigned uint;
4768# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3
4769typedef __int8_t int8_t;
4770# 25
4771typedef __int16_t int16_t;
4772# 26
4773typedef __int32_t int32_t;
4774# 27
4775typedef __int64_t int64_t;
4776# 158 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4777typedef __uint8_t u_int8_t;
4778# 159
4779typedef __uint16_t u_int16_t;
4780# 160
4781typedef __uint32_t u_int32_t;
4782# 161
4783typedef __uint64_t u_int64_t;
4784# 164
4785typedef long register_t __attribute((__mode__(__word__)));
4786# 34 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3
4787static inline __uint16_t __bswap_16(__uint16_t __bsx)
4788# 35
4789{
4790# 37
4791return __builtin_bswap16(__bsx);
4792# 41
4793}
4794# 49
4795static inline __uint32_t __bswap_32(__uint32_t __bsx)
4796# 50
4797{
4798# 52
4799return __builtin_bswap32(__bsx);
4800# 56
4801}
4802# 70 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3
4803__extension__ static inline __uint64_t __bswap_64(__uint64_t __bsx)
4804# 71
4805{
4806# 73
4807return __builtin_bswap64(__bsx);
4808# 77
4809}
4810# 33 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3
4811static inline __uint16_t __uint16_identity(__uint16_t __x)
4812# 34
4813{
4814# 35
4815return __x;
4816# 36
4817}
4818# 39
4819static inline __uint32_t __uint32_identity(__uint32_t __x)
4820# 40
4821{
4822# 41
4823return __x;
4824# 42
4825}
4826# 45
4827static inline __uint64_t __uint64_identity(__uint64_t __x)
4828# 46
4829{
4830# 47
4831return __x;
4832# 48
4833}
4834# 8 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 3
4835typedef
4836# 6
4837struct {
4838# 7
4839unsigned long __val[(1024) / ((8) * sizeof(unsigned long))];
4840# 8
4841} __sigset_t;
4842# 7 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 3
4843typedef __sigset_t sigset_t;
4844# 8 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 3
4845struct timeval {
4846# 14
4847__time_t tv_sec;
4848# 15
4849__suseconds_t tv_usec;
4850# 17
4851};
4852# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3
4853struct timespec {
4854# 16
4855__time_t tv_sec;
4856# 21
4857__syscall_slong_t tv_nsec;
4858# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3
4859};
4860# 49 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4861typedef long __fd_mask;
4862# 70 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4863typedef
4864# 60
4865struct {
4866# 64
4867__fd_mask fds_bits[1024 / (8 * ((int)sizeof(__fd_mask)))];
4868# 70
4869} fd_set;
4870# 77
4871typedef __fd_mask fd_mask;
4872# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4873extern "C" {
4874# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4875extern int select(int __nfds, fd_set *__restrict__ __readfds, fd_set *__restrict__ __writefds, fd_set *__restrict__ __exceptfds, timeval *__restrict__ __timeout);
4876# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4877extern int pselect(int __nfds, fd_set *__restrict__ __readfds, fd_set *__restrict__ __writefds, fd_set *__restrict__ __exceptfds, const timespec *__restrict__ __timeout, const __sigset_t *__restrict__ __sigmask);
4878# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3
4879}
4880# 185 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4881typedef __blksize_t blksize_t;
4882# 192
4883typedef __blkcnt_t blkcnt_t;
4884# 196
4885typedef __fsblkcnt_t fsblkcnt_t;
4886# 200
4887typedef __fsfilcnt_t fsfilcnt_t;
4888# 219 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
4889typedef __blkcnt64_t blkcnt64_t;
4890# 220
4891typedef __fsblkcnt64_t fsblkcnt64_t;
4892# 221
4893typedef __fsfilcnt64_t fsfilcnt64_t;
4894# 33 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3
4895typedef
4896# 26
4897union {
4898# 27
4899__extension__ unsigned long long __value64;
4900# 29
4901struct {
4902# 30
4903unsigned __low;
4904# 31
4905unsigned __high;
4906# 32
4907} __value32;
4908# 33
4909} __atomic_wide_counter;
4910# 55 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3
4911typedef
4912# 51
4913struct __pthread_internal_list {
4914# 53
4915__pthread_internal_list *__prev;
4916# 54
4917__pthread_internal_list *__next;
4918# 55
4919} __pthread_list_t;
4920# 60
4921typedef
4922# 57
4923struct __pthread_internal_slist {
4924# 59
4925__pthread_internal_slist *__next;
4926# 60
4927} __pthread_slist_t;
4928# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3
4929struct __pthread_mutex_s {
4930# 24
4931int __lock;
4932# 25
4933unsigned __count;
4934# 26
4935int __owner;
4936# 28
4937unsigned __nusers;
4938# 32
4939int __kind;
4940# 34
4941short __spins;
4942# 35
4943short __elision;
4944# 36
4945__pthread_list_t __list;
4946# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3
4947};
4948# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3
4949struct __pthread_rwlock_arch_t {
4950# 25
4951unsigned __readers;
4952# 26
4953unsigned __writers;
4954# 27
4955unsigned __wrphase_futex;
4956# 28
4957unsigned __writers_futex;
4958# 29
4959unsigned __pad3;
4960# 30
4961unsigned __pad4;
4962# 32
4963int __cur_writer;
4964# 33
4965int __shared;
4966# 34
4967signed char __rwelision;
4968# 39
4969unsigned char __pad1[7];
4970# 42
4971unsigned long __pad2;
4972# 45
4973unsigned __flags;
4974# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3
4975};
4976# 94 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3
4977struct __pthread_cond_s {
4978# 96
4979__atomic_wide_counter __wseq;
4980# 97
4981__atomic_wide_counter __g1_start;
4982# 98
4983unsigned __g_refs[2];
4984# 99
4985unsigned __g_size[2];
4986# 100
4987unsigned __g1_orig_size;
4988# 101
4989unsigned __wrefs;
4990# 102
4991unsigned __g_signals[2];
4992# 103
4993};
4994# 105
4995typedef unsigned __tss_t;
4996# 106
4997typedef unsigned long __thrd_t;
4998# 111
4999typedef
5000# 109
5001struct {
5002# 110
5003int __data;
5004# 111
5005} __once_flag;
5006# 27 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3
5007typedef unsigned long pthread_t;
5008# 36
5009typedef
5010# 33
5011union {
5012# 34
5013char __size[4];
5014# 35
5015int __align;
5016# 36
5017} pthread_mutexattr_t;
5018# 45
5019typedef
5020# 42
5021union {
5022# 43
5023char __size[4];
5024# 44
5025int __align;
5026# 45
5027} pthread_condattr_t;
5028# 49
5029typedef unsigned pthread_key_t;
5030# 53
5031typedef int pthread_once_t;
5032# 56
5033union pthread_attr_t {
5034# 58
5035char __size[56];
5036# 59
5037long __align;
5038# 60
5039};
5040# 62
5041typedef pthread_attr_t pthread_attr_t;
5042# 72
5043typedef
5044# 68
5045union {
5046# 69
5047__pthread_mutex_s __data;
5048# 70
5049char __size[40];
5050# 71
5051long __align;
5052# 72
5053} pthread_mutex_t;
5054# 80
5055typedef
5056# 76
5057union {
5058# 77
5059__pthread_cond_s __data;
5060# 78
5061char __size[48];
5062# 79
5063__extension__ long long __align;
5064# 80
5065} pthread_cond_t;
5066# 91
5067typedef
5068# 87
5069union {
5070# 88
5071__pthread_rwlock_arch_t __data;
5072# 89
5073char __size[56];
5074# 90
5075long __align;
5076# 91
5077} pthread_rwlock_t;
5078# 97
5079typedef
5080# 94
5081union {
5082# 95
5083char __size[8];
5084# 96
5085long __align;
5086# 97
5087} pthread_rwlockattr_t;
5088# 103
5089typedef volatile int pthread_spinlock_t;
5090# 112
5091typedef
5092# 109
5093union {
5094# 110
5095char __size[32];
5096# 111
5097long __align;
5098# 112
5099} pthread_barrier_t;
5100# 118
5101typedef
5102# 115
5103union {
5104# 116
5105char __size[4];
5106# 117
5107int __align;
5108# 118
5109} pthread_barrierattr_t;
5110# 230 "/usr/include/x86_64-linux-gnu/sys/types.h" 3
5111}
5112# 521 "/usr/include/stdlib.h" 3
5113extern long random() noexcept(true);
5114# 524
5115extern void srandom(unsigned __seed) noexcept(true);
5116# 530
5117extern char *initstate(unsigned __seed, char * __statebuf, size_t __statelen) noexcept(true)
5118# 531
5119 __attribute((__nonnull__(2)));
5120# 535
5121extern char *setstate(char * __statebuf) noexcept(true) __attribute((__nonnull__(1)));
5122# 543
5123struct random_data {
5124# 545
5125int32_t *fptr;
5126# 546
5127int32_t *rptr;
5128# 547
5129int32_t *state;
5130# 548
5131int rand_type;
5132# 549
5133int rand_deg;
5134# 550
5135int rand_sep;
5136# 551
5137int32_t *end_ptr;
5138# 552
5139};
5140# 554
5141extern int random_r(random_data *__restrict__ __buf, int32_t *__restrict__ __result) noexcept(true)
5142# 555
5143 __attribute((__nonnull__(1, 2)));
5144# 557
5145extern int srandom_r(unsigned __seed, random_data * __buf) noexcept(true)
5146# 558
5147 __attribute((__nonnull__(2)));
5148# 560
5149extern int initstate_r(unsigned __seed, char *__restrict__ __statebuf, size_t __statelen, random_data *__restrict__ __buf) noexcept(true)
5150# 563
5151 __attribute((__nonnull__(2, 4)));
5152# 565
5153extern int setstate_r(char *__restrict__ __statebuf, random_data *__restrict__ __buf) noexcept(true)
5154# 567
5155 __attribute((__nonnull__(1, 2)));
5156# 573
5157extern int rand() noexcept(true);
5158# 575
5159extern void srand(unsigned __seed) noexcept(true);
5160# 579
5161extern int rand_r(unsigned * __seed) noexcept(true);
5162# 587
5163extern double drand48() noexcept(true);
5164# 588
5165extern double erand48(unsigned short __xsubi[3]) noexcept(true) __attribute((__nonnull__(1)));
5166# 591
5167extern long lrand48() noexcept(true);
5168# 592
5169extern long nrand48(unsigned short __xsubi[3]) noexcept(true)
5170# 593
5171 __attribute((__nonnull__(1)));
5172# 596
5173extern long mrand48() noexcept(true);
5174# 597
5175extern long jrand48(unsigned short __xsubi[3]) noexcept(true)
5176# 598
5177 __attribute((__nonnull__(1)));
5178# 601
5179extern void srand48(long __seedval) noexcept(true);
5180# 602
5181extern unsigned short *seed48(unsigned short __seed16v[3]) noexcept(true)
5182# 603
5183 __attribute((__nonnull__(1)));
5184# 604
5185extern void lcong48(unsigned short __param[7]) noexcept(true) __attribute((__nonnull__(1)));
5186# 610
5187struct drand48_data {
5188# 612
5189unsigned short __x[3];
5190# 613
5191unsigned short __old_x[3];
5192# 614
5193unsigned short __c;
5194# 615
5195unsigned short __init;
5196# 616
5197__extension__ unsigned long long __a;
5198# 618
5199};
5200# 621
5201extern int drand48_r(drand48_data *__restrict__ __buffer, double *__restrict__ __result) noexcept(true)
5202# 622
5203 __attribute((__nonnull__(1, 2)));
5204# 623
5205extern int erand48_r(unsigned short __xsubi[3], drand48_data *__restrict__ __buffer, double *__restrict__ __result) noexcept(true)
5206# 625
5207 __attribute((__nonnull__(1, 2)));
5208# 628
5209extern int lrand48_r(drand48_data *__restrict__ __buffer, long *__restrict__ __result) noexcept(true)
5210# 630
5211 __attribute((__nonnull__(1, 2)));
5212# 631
5213extern int nrand48_r(unsigned short __xsubi[3], drand48_data *__restrict__ __buffer, long *__restrict__ __result) noexcept(true)
5214# 634
5215 __attribute((__nonnull__(1, 2)));
5216# 637
5217extern int mrand48_r(drand48_data *__restrict__ __buffer, long *__restrict__ __result) noexcept(true)
5218# 639
5219 __attribute((__nonnull__(1, 2)));
5220# 640
5221extern int jrand48_r(unsigned short __xsubi[3], drand48_data *__restrict__ __buffer, long *__restrict__ __result) noexcept(true)
5222# 643
5223 __attribute((__nonnull__(1, 2)));
5224# 646
5225extern int srand48_r(long __seedval, drand48_data * __buffer) noexcept(true)
5226# 647
5227 __attribute((__nonnull__(2)));
5228# 649
5229extern int seed48_r(unsigned short __seed16v[3], drand48_data * __buffer) noexcept(true)
5230# 650
5231 __attribute((__nonnull__(1, 2)));
5232# 652
5233extern int lcong48_r(unsigned short __param[7], drand48_data * __buffer) noexcept(true)
5234# 654
5235 __attribute((__nonnull__(1, 2)));
5236# 657
5237extern __uint32_t arc4random() noexcept(true);
5238# 661
5239extern void arc4random_buf(void * __buf, size_t __size) noexcept(true)
5240# 662
5241 __attribute((__nonnull__(1)));
5242# 666
5243extern __uint32_t arc4random_uniform(__uint32_t __upper_bound) noexcept(true);
5244# 672
5245extern void *malloc(size_t __size) noexcept(true) __attribute((__malloc__))
5246# 673
5247 __attribute((__alloc_size__(1)));
5248# 675
5249extern void *calloc(size_t __nmemb, size_t __size) noexcept(true)
5250# 676
5251 __attribute((__malloc__)) __attribute((__alloc_size__(1, 2)));
5252# 683
5253extern void *realloc(void * __ptr, size_t __size) noexcept(true)
5254# 684
5255 __attribute((__warn_unused_result__)) __attribute((__alloc_size__(2)));
5256# 687
5257extern void free(void * __ptr) noexcept(true);
5258# 695
5259extern void *reallocarray(void * __ptr, size_t __nmemb, size_t __size) noexcept(true)
5260# 696
5261 __attribute((__warn_unused_result__))
5262# 697
5263 __attribute((__alloc_size__(2, 3)))
5264# 698
5265 __attribute((__malloc__(__builtin_free, 1)));
5266# 701
5267extern void *reallocarray(void * __ptr, size_t __nmemb, size_t __size) noexcept(true)
5268# 702
5269 __attribute((__malloc__(reallocarray, 1)));
5270# 26 "/usr/include/alloca.h" 3
5271extern "C" {
5272# 32
5273extern void *alloca(size_t __size) noexcept(true);
5274# 38
5275}
5276# 712 "/usr/include/stdlib.h" 3
5277extern void *valloc(size_t __size) noexcept(true) __attribute((__malloc__))
5278# 713
5279 __attribute((__alloc_size__(1)));
5280# 718
5281extern int posix_memalign(void ** __memptr, size_t __alignment, size_t __size) noexcept(true)
5282# 719
5283 __attribute((__nonnull__(1)));
5284# 724
5285extern void *aligned_alloc(size_t __alignment, size_t __size) noexcept(true)
5286# 725
5287 __attribute((__malloc__)) __attribute((__alloc_align__(1 )))
5288# 726
5289 __attribute((__alloc_size__(2)));
5290# 730
5291extern void abort() noexcept(true) __attribute((__noreturn__));
5292# 734
5293extern int atexit(void (* __func)(void)) noexcept(true) __attribute((__nonnull__(1)));
5294# 739
5295extern "C++" int at_quick_exit(void (* __func)(void)) noexcept(true) __asm__("at_quick_exit")
5296# 740
5297 __attribute((__nonnull__(1)));
5298# 749 "/usr/include/stdlib.h" 3
5299extern int on_exit(void (* __func)(int __status, void * __arg), void * __arg) noexcept(true)
5300# 750
5301 __attribute((__nonnull__(1)));
5302# 756
5303extern void exit(int __status) noexcept(true) __attribute((__noreturn__));
5304# 762
5305extern void quick_exit(int __status) noexcept(true) __attribute((__noreturn__));
5306# 768
5307extern void _Exit(int __status) noexcept(true) __attribute((__noreturn__));
5308# 773
5309extern char *getenv(const char * __name) noexcept(true) __attribute((__nonnull__(1)));
5310# 778
5311extern char *secure_getenv(const char * __name) noexcept(true)
5312# 779
5313 __attribute((__nonnull__(1)));
5314# 786
5315extern int putenv(char * __string) noexcept(true) __attribute((__nonnull__(1)));
5316# 792
5317extern int setenv(const char * __name, const char * __value, int __replace) noexcept(true)
5318# 793
5319 __attribute((__nonnull__(2)));
5320# 796
5321extern int unsetenv(const char * __name) noexcept(true) __attribute((__nonnull__(1)));
5322# 803
5323extern int clearenv() noexcept(true);
5324# 814 "/usr/include/stdlib.h" 3
5325extern char *mktemp(char * __template) noexcept(true) __attribute((__nonnull__(1)));
5326# 827 "/usr/include/stdlib.h" 3
5327extern int mkstemp(char * __template) __attribute((__nonnull__(1)));
5328# 837 "/usr/include/stdlib.h" 3
5329extern int mkstemp64(char * __template) __attribute((__nonnull__(1)));
5330# 849 "/usr/include/stdlib.h" 3
5331extern int mkstemps(char * __template, int __suffixlen) __attribute((__nonnull__(1)));
5332# 859 "/usr/include/stdlib.h" 3
5333extern int mkstemps64(char * __template, int __suffixlen)
5334# 860
5335 __attribute((__nonnull__(1)));
5336# 870 "/usr/include/stdlib.h" 3
5337extern char *mkdtemp(char * __template) noexcept(true) __attribute((__nonnull__(1)));
5338# 881 "/usr/include/stdlib.h" 3
5339extern int mkostemp(char * __template, int __flags) __attribute((__nonnull__(1)));
5340# 891 "/usr/include/stdlib.h" 3
5341extern int mkostemp64(char * __template, int __flags) __attribute((__nonnull__(1)));
5342# 901 "/usr/include/stdlib.h" 3
5343extern int mkostemps(char * __template, int __suffixlen, int __flags)
5344# 902
5345 __attribute((__nonnull__(1)));
5346# 913 "/usr/include/stdlib.h" 3
5347extern int mkostemps64(char * __template, int __suffixlen, int __flags)
5348# 914
5349 __attribute((__nonnull__(1)));
5350# 923 "/usr/include/stdlib.h" 3
5351extern int system(const char * __command);
5352# 929
5353extern char *canonicalize_file_name(const char * __name) noexcept(true)
5354# 930
5355 __attribute((__nonnull__(1))) __attribute((__malloc__))
5356# 931
5357 __attribute((__malloc__(__builtin_free, 1)));
5358# 940 "/usr/include/stdlib.h" 3
5359extern char *realpath(const char *__restrict__ __name, char *__restrict__ __resolved) noexcept(true);
5360# 948
5361typedef int (*__compar_fn_t)(const void *, const void *);
5362# 951
5363typedef __compar_fn_t comparison_fn_t;
5364# 955
5365typedef int (*__compar_d_fn_t)(const void *, const void *, void *);
5366# 960
5367extern void *bsearch(const void * __key, const void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar)
5368# 962
5369 __attribute((__nonnull__(1, 2, 5)));
5370# 970
5371extern void qsort(void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar)
5372# 971
5373 __attribute((__nonnull__(1, 4)));
5374# 973
5375extern void qsort_r(void * __base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void * __arg)
5376# 975
5377 __attribute((__nonnull__(1, 4)));
5378# 980
5379extern int abs(int __x) noexcept(true) __attribute((const));
5380# 981
5381extern long labs(long __x) noexcept(true) __attribute((const));
5382# 984
5383__extension__ extern long long llabs(long long __x) noexcept(true)
5384# 985
5385 __attribute((const));
5386# 992
5387extern div_t div(int __numer, int __denom) noexcept(true)
5388# 993
5389 __attribute((const));
5390# 994
5391extern ldiv_t ldiv(long __numer, long __denom) noexcept(true)
5392# 995
5393 __attribute((const));
5394# 998
5395__extension__ extern lldiv_t lldiv(long long __numer, long long __denom) noexcept(true)
5396# 1000
5397 __attribute((const));
5398# 1012 "/usr/include/stdlib.h" 3
5399extern char *ecvt(double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign) noexcept(true)
5400# 1013
5401 __attribute((__nonnull__(3, 4)));
5402# 1018
5403extern char *fcvt(double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign) noexcept(true)
5404# 1019
5405 __attribute((__nonnull__(3, 4)));
5406# 1024
5407extern char *gcvt(double __value, int __ndigit, char * __buf) noexcept(true)
5408# 1025
5409 __attribute((__nonnull__(3)));
5410# 1030
5411extern char *qecvt(long double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign) noexcept(true)
5412# 1032
5413 __attribute((__nonnull__(3, 4)));
5414# 1033
5415extern char *qfcvt(long double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign) noexcept(true)
5416# 1035
5417 __attribute((__nonnull__(3, 4)));
5418# 1036
5419extern char *qgcvt(long double __value, int __ndigit, char * __buf) noexcept(true)
5420# 1037
5421 __attribute((__nonnull__(3)));
5422# 1042
5423extern int ecvt_r(double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign, char *__restrict__ __buf, size_t __len) noexcept(true)
5424# 1044
5425 __attribute((__nonnull__(3, 4, 5)));
5426# 1045
5427extern int fcvt_r(double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign, char *__restrict__ __buf, size_t __len) noexcept(true)
5428# 1047
5429 __attribute((__nonnull__(3, 4, 5)));
5430# 1049
5431extern int qecvt_r(long double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign, char *__restrict__ __buf, size_t __len) noexcept(true)
5432# 1052
5433 __attribute((__nonnull__(3, 4, 5)));
5434# 1053
5435extern int qfcvt_r(long double __value, int __ndigit, int *__restrict__ __decpt, int *__restrict__ __sign, char *__restrict__ __buf, size_t __len) noexcept(true)
5436# 1056
5437 __attribute((__nonnull__(3, 4, 5)));
5438# 1062
5439extern int mblen(const char * __s, size_t __n) noexcept(true);
5440# 1065
5441extern int mbtowc(wchar_t *__restrict__ __pwc, const char *__restrict__ __s, size_t __n) noexcept(true);
5442# 1069
5443extern int wctomb(char * __s, wchar_t __wchar) noexcept(true);
5444# 1073
5445extern size_t mbstowcs(wchar_t *__restrict__ __pwcs, const char *__restrict__ __s, size_t __n) noexcept(true)
5446# 1075
5447 __attribute((__access__(__read_only__ , 2 )));
5448# 1077
5449extern size_t wcstombs(char *__restrict__ __s, const wchar_t *__restrict__ __pwcs, size_t __n) noexcept(true)
5450# 1080
5451 __attribute((__access__(__write_only__ , 1 , 3 )))
5452# 1081
5453 __attribute((__access__(__read_only__ , 2 )));
5454# 1088
5455extern int rpmatch(const char * __response) noexcept(true) __attribute((__nonnull__(1)));
5456# 1099 "/usr/include/stdlib.h" 3
5457extern int getsubopt(char **__restrict__ __optionp, char *const *__restrict__ __tokens, char **__restrict__ __valuep) noexcept(true)
5458# 1102
5459 __attribute((__nonnull__(1, 2, 3)));
5460# 1110
5461extern int posix_openpt(int __oflag);
5462# 1118
5463extern int grantpt(int __fd) noexcept(true);
5464# 1122
5465extern int unlockpt(int __fd) noexcept(true);
5466# 1127
5467extern char *ptsname(int __fd) noexcept(true);
5468# 1134
5469extern int ptsname_r(int __fd, char * __buf, size_t __buflen) noexcept(true)
5470# 1135
5471 __attribute((__nonnull__(2))) __attribute((__access__(__write_only__ , 2 , 3 )));
5472# 1138
5473extern int getpt();
5474# 1145
5475extern int getloadavg(double __loadavg[], int __nelem) noexcept(true)
5476# 1146
5477 __attribute((__nonnull__(1)));
5478# 1167 "/usr/include/stdlib.h" 3
5479}
5480# 46 "/usr/include/c++/13/bits/std_abs.h" 3
5481extern "C++" {
5482# 48
5483namespace std __attribute((__visibility__("default"))) {
5484# 52
5485using ::abs;
5486# 56
5487inline long abs(long __i) { return __builtin_labs(__i); }
5488# 61
5489inline long long abs(long long __x) { return __builtin_llabs(__x); }
5490# 71 "/usr/include/c++/13/bits/std_abs.h" 3
5491constexpr double abs(double __x)
5492# 72
5493{ return __builtin_fabs(__x); }
5494# 75
5495constexpr float abs(float __x)
5496# 76
5497{ return __builtin_fabsf(__x); }
5498# 79
5499constexpr long double abs(long double __x)
5500# 80
5501{ return __builtin_fabsl(__x); }
5502# 85
5503__extension__ constexpr __int128 abs(__int128 __x) { return (__x >= (0)) ? __x : (-__x); }
5504# 151 "/usr/include/c++/13/bits/std_abs.h" 3
5505}
5506# 152
5507}
5508# 125 "/usr/include/c++/13/cstdlib" 3
5509extern "C++" {
5510# 127
5511namespace std __attribute((__visibility__("default"))) {
5512# 131
5513using ::div_t;
5514# 132
5515using ::ldiv_t;
5516# 134
5517using ::abort;
5518# 136
5519using ::aligned_alloc;
5520# 138
5521using ::atexit;
5522# 141
5523using ::at_quick_exit;
5524# 144
5525using ::atof;
5526# 145
5527using ::atoi;
5528# 146
5529using ::atol;
5530# 147
5531using ::bsearch;
5532# 148
5533using ::calloc;
5534# 149
5535using ::div;
5536# 150
5537using ::exit;
5538# 151
5539using ::free;
5540# 152
5541using ::getenv;
5542# 153
5543using ::labs;
5544# 154
5545using ::ldiv;
5546# 155
5547using ::malloc;
5548# 157
5549using ::mblen;
5550# 158
5551using ::mbstowcs;
5552# 159
5553using ::mbtowc;
5554# 161
5555using ::qsort;
5556# 164
5557using ::quick_exit;
5558# 167
5559using ::rand;
5560# 168
5561using ::realloc;
5562# 169
5563using ::srand;
5564# 170
5565using ::strtod;
5566# 171
5567using ::strtol;
5568# 172
5569using ::strtoul;
5570# 173
5571using ::system;
5572# 175
5573using ::wcstombs;
5574# 176
5575using ::wctomb;
5576# 181
5577inline ldiv_t div(long __i, long __j) noexcept { return ldiv(__i, __j); }
5578# 186
5579}
5580# 199 "/usr/include/c++/13/cstdlib" 3
5581namespace __gnu_cxx __attribute((__visibility__("default"))) {
5582# 204
5583using ::lldiv_t;
5584# 210
5585using ::_Exit;
5586# 214
5587using ::llabs;
5588# 217
5589inline lldiv_t div(long long __n, long long __d)
5590# 218
5591{ lldiv_t __q; (__q.quot) = (__n / __d); (__q.rem) = (__n % __d); return __q; }
5592# 220
5593using ::lldiv;
5594# 231 "/usr/include/c++/13/cstdlib" 3
5595using ::atoll;
5596# 232
5597using ::strtoll;
5598# 233
5599using ::strtoull;
5600# 235
5601using ::strtof;
5602# 236
5603using ::strtold;
5604# 239
5605}
5606# 241
5607namespace std {
5608# 244
5609using __gnu_cxx::lldiv_t;
5610# 246
5611using __gnu_cxx::_Exit;
5612# 248
5613using __gnu_cxx::llabs;
5614# 249
5615using __gnu_cxx::div;
5616# 250
5617using __gnu_cxx::lldiv;
5618# 252
5619using __gnu_cxx::atoll;
5620# 253
5621using __gnu_cxx::strtof;
5622# 254
5623using __gnu_cxx::strtoll;
5624# 255
5625using __gnu_cxx::strtoull;
5626# 256
5627using __gnu_cxx::strtold;
5628# 257
5629}
5630# 261
5631}
5632# 38 "/usr/include/c++/13/stdlib.h" 3
5633using std::abort;
5634# 39
5635using std::atexit;
5636# 40
5637using std::exit;
5638# 43
5639using std::at_quick_exit;
5640# 46
5641using std::quick_exit;
5642# 49
5643using std::_Exit;
5644# 57
5645using std::abs;
5646# 58
5647using std::atof;
5648# 59
5649using std::atoi;
5650# 60
5651using std::atol;
5652# 61
5653using std::bsearch;
5654# 62
5655using std::calloc;
5656# 63
5657using std::div;
5658# 64
5659using std::free;
5660# 65
5661using std::getenv;
5662# 66
5663using std::labs;
5664# 67
5665using std::ldiv;
5666# 68
5667using std::malloc;
5668# 70
5669using std::mblen;
5670# 71
5671using std::mbstowcs;
5672# 72
5673using std::mbtowc;
5674# 74
5675using std::qsort;
5676# 75
5677using std::rand;
5678# 76
5679using std::realloc;
5680# 77
5681using std::srand;
5682# 78
5683using std::strtod;
5684# 79
5685using std::strtol;
5686# 80
5687using std::strtoul;
5688# 81
5689using std::system;
5690# 83
5691using std::wcstombs;
5692# 84
5693using std::wctomb;
5694# 184 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5695extern "C" {
5696# 191
5697__attribute__((unused)) extern cudaError_t __cudaDeviceSynchronizeDeprecationAvoidance();
5698# 244 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5699__attribute__((unused)) extern cudaError_t __cudaCDP2DeviceGetAttribute(int * value, cudaDeviceAttr attr, int device);
5700# 245
5701__attribute__((unused)) extern cudaError_t __cudaCDP2DeviceGetLimit(size_t * pValue, cudaLimit limit);
5702# 246
5703__attribute__((unused)) extern cudaError_t __cudaCDP2DeviceGetCacheConfig(cudaFuncCache * pCacheConfig);
5704# 247
5705__attribute__((unused)) extern cudaError_t __cudaCDP2DeviceGetSharedMemConfig(cudaSharedMemConfig * pConfig);
5706# 248
5707__attribute__((unused)) extern cudaError_t __cudaCDP2GetLastError();
5708# 249
5709__attribute__((unused)) extern cudaError_t __cudaCDP2PeekAtLastError();
5710# 250
5711__attribute__((unused)) extern const char *__cudaCDP2GetErrorString(cudaError_t error);
5712# 251
5713__attribute__((unused)) extern const char *__cudaCDP2GetErrorName(cudaError_t error);
5714# 252
5715__attribute__((unused)) extern cudaError_t __cudaCDP2GetDeviceCount(int * count);
5716# 253
5717__attribute__((unused)) extern cudaError_t __cudaCDP2GetDevice(int * device);
5718# 254
5719__attribute__((unused)) extern cudaError_t __cudaCDP2StreamCreateWithFlags(cudaStream_t * pStream, unsigned flags);
5720# 255
5721__attribute__((unused)) extern cudaError_t __cudaCDP2StreamDestroy(cudaStream_t stream);
5722# 256
5723__attribute__((unused)) extern cudaError_t __cudaCDP2StreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned flags);
5724# 257
5725__attribute__((unused)) extern cudaError_t __cudaCDP2StreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned flags);
5726# 258
5727__attribute__((unused)) extern cudaError_t __cudaCDP2EventCreateWithFlags(cudaEvent_t * event, unsigned flags);
5728# 259
5729__attribute__((unused)) extern cudaError_t __cudaCDP2EventRecord(cudaEvent_t event, cudaStream_t stream);
5730# 260
5731__attribute__((unused)) extern cudaError_t __cudaCDP2EventRecord_ptsz(cudaEvent_t event, cudaStream_t stream);
5732# 261
5733__attribute__((unused)) extern cudaError_t __cudaCDP2EventRecordWithFlags(cudaEvent_t event, cudaStream_t stream, unsigned flags);
5734# 262
5735__attribute__((unused)) extern cudaError_t __cudaCDP2EventRecordWithFlags_ptsz(cudaEvent_t event, cudaStream_t stream, unsigned flags);
5736# 263
5737__attribute__((unused)) extern cudaError_t __cudaCDP2EventDestroy(cudaEvent_t event);
5738# 264
5739__attribute__((unused)) extern cudaError_t __cudaCDP2FuncGetAttributes(cudaFuncAttributes * attr, const void * func);
5740# 265
5741__attribute__((unused)) extern cudaError_t __cudaCDP2Free(void * devPtr);
5742# 266
5743__attribute__((unused)) extern cudaError_t __cudaCDP2Malloc(void ** devPtr, size_t size);
5744# 267
5745__attribute__((unused)) extern cudaError_t __cudaCDP2MemcpyAsync(void * dst, const void * src, size_t count, cudaMemcpyKind kind, cudaStream_t stream);
5746# 268
5747__attribute__((unused)) extern cudaError_t __cudaCDP2MemcpyAsync_ptsz(void * dst, const void * src, size_t count, cudaMemcpyKind kind, cudaStream_t stream);
5748# 269
5749__attribute__((unused)) extern cudaError_t __cudaCDP2Memcpy2DAsync(void * dst, size_t dpitch, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream);
5750# 270
5751__attribute__((unused)) extern cudaError_t __cudaCDP2Memcpy2DAsync_ptsz(void * dst, size_t dpitch, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream);
5752# 271
5753__attribute__((unused)) extern cudaError_t __cudaCDP2Memcpy3DAsync(const cudaMemcpy3DParms * p, cudaStream_t stream);
5754# 272
5755__attribute__((unused)) extern cudaError_t __cudaCDP2Memcpy3DAsync_ptsz(const cudaMemcpy3DParms * p, cudaStream_t stream);
5756# 273
5757__attribute__((unused)) extern cudaError_t __cudaCDP2MemsetAsync(void * devPtr, int value, size_t count, cudaStream_t stream);
5758# 274
5759__attribute__((unused)) extern cudaError_t __cudaCDP2MemsetAsync_ptsz(void * devPtr, int value, size_t count, cudaStream_t stream);
5760# 275
5761__attribute__((unused)) extern cudaError_t __cudaCDP2Memset2DAsync(void * devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream);
5762# 276
5763__attribute__((unused)) extern cudaError_t __cudaCDP2Memset2DAsync_ptsz(void * devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream);
5764# 277
5765__attribute__((unused)) extern cudaError_t __cudaCDP2Memset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream);
5766# 278
5767__attribute__((unused)) extern cudaError_t __cudaCDP2Memset3DAsync_ptsz(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream);
5768# 279
5769__attribute__((unused)) extern cudaError_t __cudaCDP2RuntimeGetVersion(int * runtimeVersion);
5770# 280
5771__attribute__((unused)) extern void *__cudaCDP2GetParameterBuffer(size_t alignment, size_t size);
5772# 281
5773__attribute__((unused)) extern void *__cudaCDP2GetParameterBufferV2(void * func, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize);
5774# 282
5775__attribute__((unused)) extern cudaError_t __cudaCDP2LaunchDevice_ptsz(void * func, void * parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize, cudaStream_t stream);
5776# 283
5777__attribute__((unused)) extern cudaError_t __cudaCDP2LaunchDeviceV2_ptsz(void * parameterBuffer, cudaStream_t stream);
5778# 284
5779__attribute__((unused)) extern cudaError_t __cudaCDP2LaunchDevice(void * func, void * parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize, cudaStream_t stream);
5780# 285
5781__attribute__((unused)) extern cudaError_t __cudaCDP2LaunchDeviceV2(void * parameterBuffer, cudaStream_t stream);
5782# 286
5783__attribute__((unused)) extern cudaError_t __cudaCDP2OccupancyMaxActiveBlocksPerMultiprocessor(int * numBlocks, const void * func, int blockSize, size_t dynamicSmemSize);
5784# 287
5785__attribute__((unused)) extern cudaError_t __cudaCDP2OccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int * numBlocks, const void * func, int blockSize, size_t dynamicSmemSize, unsigned flags);
5786# 290
5787extern cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
5788# 311 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5789__attribute__((unused)) static inline cudaGraphExec_t cudaGetCurrentGraphExec()
5790# 312
5791{int volatile ___ = 1;
5792# 316
5793::exit(___);}
5794#if 0
5795# 312
5796{
5797# 313
5798unsigned long long current_graph_exec;
5799# 314
5800__asm__("mov.u64 %0, %%current_graph_exec;" : "=l" (current_graph_exec) :);
5801# 315
5802return (cudaGraphExec_t)current_graph_exec;
5803# 316
5804}
5805#endif
5806# 346 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5807__attribute__((unused)) extern cudaError_t cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const void * value, size_t size);
5808# 374 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5809__attribute__((unused)) extern cudaError_t cudaGraphKernelNodeSetEnabled(cudaGraphDeviceNode_t node, bool enable);
5810# 401 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5811__attribute__((unused)) extern cudaError_t cudaGraphKernelNodeSetGridDim(cudaGraphDeviceNode_t node, dim3 gridDim);
5812# 430 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5813__attribute__((unused)) extern cudaError_t cudaGraphKernelNodeUpdatesApply(const cudaGraphKernelNodeUpdate * updates, size_t updateCount);
5814# 448 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5815__attribute__((unused)) static inline void cudaTriggerProgrammaticLaunchCompletion()
5816# 449
5817{int volatile ___ = 1;
5818# 451
5819::exit(___);}
5820#if 0
5821# 449
5822{
5823# 450
5824__asm__ volatile("griddepcontrol.launch_dependents;" : :);
5825# 451
5826}
5827#endif
5828# 464 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5829__attribute__((unused)) static inline void cudaGridDependencySynchronize()
5830# 465
5831{int volatile ___ = 1;
5832# 467
5833::exit(___);}
5834#if 0
5835# 465
5836{
5837# 466
5838__asm__ volatile("griddepcontrol.wait;" : : : "memory");
5839# 467
5840}
5841#endif
5842# 479 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5843__attribute__((unused)) extern void cudaGraphSetConditional(cudaGraphConditionalHandle handle, unsigned value);
5844# 482
5845__attribute__((unused)) extern unsigned long long cudaCGGetIntrinsicHandle(cudaCGScope scope);
5846# 483
5847__attribute__((unused)) extern cudaError_t cudaCGSynchronize(unsigned long long handle, unsigned flags);
5848# 484
5849__attribute__((unused)) extern cudaError_t cudaCGSynchronizeGrid(unsigned long long handle, unsigned flags);
5850# 485
5851__attribute__((unused)) extern cudaError_t cudaCGGetSize(unsigned * numThreads, unsigned * numGrids, unsigned long long handle);
5852# 486
5853__attribute__((unused)) extern cudaError_t cudaCGGetRank(unsigned * threadRank, unsigned * gridRank, unsigned long long handle);
5854# 714 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5855__attribute__((unused)) static inline void *cudaGetParameterBuffer(size_t alignment, size_t size)
5856# 715
5857{int volatile ___ = 1;(void)alignment;(void)size;
5858# 717
5859::exit(___);}
5860#if 0
5861# 715
5862{
5863# 716
5864return __cudaCDP2GetParameterBuffer(alignment, size);
5865# 717
5866}
5867#endif
5868# 724 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5869__attribute__((unused)) static inline void *cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize)
5870# 725
5871{int volatile ___ = 1;(void)func;(void)gridDimension;(void)blockDimension;(void)sharedMemSize;
5872# 727
5873::exit(___);}
5874#if 0
5875# 725
5876{
5877# 726
5878return __cudaCDP2GetParameterBufferV2(func, gridDimension, blockDimension, sharedMemSize);
5879# 727
5880}
5881#endif
5882# 734 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5883__attribute__((unused)) static inline cudaError_t cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize, cudaStream_t stream)
5884# 735
5885{int volatile ___ = 1;(void)func;(void)parameterBuffer;(void)gridDimension;(void)blockDimension;(void)sharedMemSize;(void)stream;
5886# 737
5887::exit(___);}
5888#if 0
5889# 735
5890{
5891# 736
5892return __cudaCDP2LaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream);
5893# 737
5894}
5895#endif
5896# 739 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5897__attribute__((unused)) static inline cudaError_t cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream)
5898# 740
5899{int volatile ___ = 1;(void)parameterBuffer;(void)stream;
5900# 742
5901::exit(___);}
5902#if 0
5903# 740
5904{
5905# 741
5906return __cudaCDP2LaunchDeviceV2_ptsz(parameterBuffer, stream);
5907# 742
5908}
5909#endif
5910# 800 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5911__attribute__((unused)) static inline cudaError_t cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned sharedMemSize, cudaStream_t stream)
5912# 801
5913{int volatile ___ = 1;(void)func;(void)parameterBuffer;(void)gridDimension;(void)blockDimension;(void)sharedMemSize;(void)stream;
5914# 803
5915::exit(___);}
5916#if 0
5917# 801
5918{
5919# 802
5920return __cudaCDP2LaunchDevice(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream);
5921# 803
5922}
5923#endif
5924# 805 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5925__attribute__((unused)) static inline cudaError_t cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream)
5926# 806
5927{int volatile ___ = 1;(void)parameterBuffer;(void)stream;
5928# 808
5929::exit(___);}
5930#if 0
5931# 806
5932{
5933# 807
5934return __cudaCDP2LaunchDeviceV2(parameterBuffer, stream);
5935# 808
5936}
5937#endif
5938# 862 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5939}
5940# 868
5941template< class T> static inline cudaError_t cudaMalloc(T ** devPtr, size_t size);
5942# 869
5943template< class T> static inline cudaError_t cudaFuncGetAttributes(cudaFuncAttributes * attr, T * entry);
5944# 870
5945template< class T> static inline cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int * numBlocks, T func, int blockSize, size_t dynamicSmemSize);
5946# 871
5947template< class T> static inline cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int * numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned flags);
5948# 901 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_device_runtime_api.h"
5949template< class T> __attribute__((unused)) static inline cudaError_t
5950# 902
5951cudaGraphKernelNodeSetParam(cudaGraphDeviceNode_t node, size_t offset, const T &value)
5952# 903
5953{int volatile ___ = 1;(void)node;(void)offset;(void)value;
5954# 905
5955::exit(___);}
5956#if 0
5957# 903
5958{
5959# 904
5960return cudaGraphKernelNodeSetParam(node, offset, &value, sizeof(T));
5961# 905
5962}
5963#endif
5964# 287 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5965extern "C" {
5966# 334 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5967extern cudaError_t cudaDeviceReset();
5968# 356 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5969extern cudaError_t cudaDeviceSynchronize();
5970# 442 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5971extern cudaError_t cudaDeviceSetLimit(cudaLimit limit, size_t value);
5972# 478 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5973extern cudaError_t cudaDeviceGetLimit(size_t * pValue, cudaLimit limit);
5974# 501 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5975extern cudaError_t cudaDeviceGetTexture1DLinearMaxWidth(size_t * maxWidthInElements, const cudaChannelFormatDesc * fmtDesc, int device);
5976# 535 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5977extern cudaError_t cudaDeviceGetCacheConfig(cudaFuncCache * pCacheConfig);
5978# 572 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5979extern cudaError_t cudaDeviceGetStreamPriorityRange(int * leastPriority, int * greatestPriority);
5980# 616 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5981extern cudaError_t cudaDeviceSetCacheConfig(cudaFuncCache cacheConfig);
5982# 643 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5983extern cudaError_t cudaDeviceGetByPCIBusId(int * device, const char * pciBusId);
5984# 673 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5985extern cudaError_t cudaDeviceGetPCIBusId(char * pciBusId, int len, int device);
5986# 724 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5987extern cudaError_t cudaIpcGetEventHandle(cudaIpcEventHandle_t * handle, cudaEvent_t event);
5988# 768 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5989extern cudaError_t cudaIpcOpenEventHandle(cudaEvent_t * event, cudaIpcEventHandle_t handle);
5990# 813 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5991extern cudaError_t cudaIpcGetMemHandle(cudaIpcMemHandle_t * handle, void * devPtr);
5992# 880 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5993extern cudaError_t cudaIpcOpenMemHandle(void ** devPtr, cudaIpcMemHandle_t handle, unsigned flags);
5994# 919 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5995extern cudaError_t cudaIpcCloseMemHandle(void * devPtr);
5996# 951 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5997extern cudaError_t cudaDeviceFlushGPUDirectRDMAWrites(cudaFlushGPUDirectRDMAWritesTarget target, cudaFlushGPUDirectRDMAWritesScope scope);
5998# 989 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
5999extern cudaError_t cudaDeviceRegisterAsyncNotification(int device, cudaAsyncCallback callbackFunc, void * userData, cudaAsyncCallbackHandle_t * callback);
6000# 1012 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6001extern cudaError_t cudaDeviceUnregisterAsyncNotification(int device, cudaAsyncCallbackHandle_t callback);
6002# 1059 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6003__attribute((deprecated)) extern cudaError_t cudaDeviceGetSharedMemConfig(cudaSharedMemConfig * pConfig);
6004# 1105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6005__attribute((deprecated)) extern cudaError_t cudaDeviceSetSharedMemConfig(cudaSharedMemConfig config);
6006# 1146 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6007__attribute((deprecated)) extern cudaError_t cudaThreadExit();
6008# 1172 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6009__attribute((deprecated)) extern cudaError_t cudaThreadSynchronize();
6010# 1221 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6011__attribute((deprecated)) extern cudaError_t cudaThreadSetLimit(cudaLimit limit, size_t value);
6012# 1254 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6013__attribute((deprecated)) extern cudaError_t cudaThreadGetLimit(size_t * pValue, cudaLimit limit);
6014# 1290 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6015__attribute((deprecated)) extern cudaError_t cudaThreadGetCacheConfig(cudaFuncCache * pCacheConfig);
6016# 1337 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6017__attribute((deprecated)) extern cudaError_t cudaThreadSetCacheConfig(cudaFuncCache cacheConfig);
6018# 1402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6019extern cudaError_t cudaGetLastError();
6020# 1453 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6021extern cudaError_t cudaPeekAtLastError();
6022# 1469 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6023extern const char *cudaGetErrorName(cudaError_t error);
6024# 1485 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6025extern const char *cudaGetErrorString(cudaError_t error);
6026# 1514 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6027extern cudaError_t cudaGetDeviceCount(int * count);
6028# 1818 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6029extern cudaError_t cudaGetDeviceProperties_v2(cudaDeviceProp * prop, int device);
6030# 2024 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6031extern cudaError_t cudaDeviceGetAttribute(int * value, cudaDeviceAttr attr, int device);
6032# 2042 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6033extern cudaError_t cudaDeviceGetDefaultMemPool(cudaMemPool_t * memPool, int device);
6034# 2066 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6035extern cudaError_t cudaDeviceSetMemPool(int device, cudaMemPool_t memPool);
6036# 2086 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6037extern cudaError_t cudaDeviceGetMemPool(cudaMemPool_t * memPool, int device);
6038# 2148 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6039extern cudaError_t cudaDeviceGetNvSciSyncAttributes(void * nvSciSyncAttrList, int device, int flags);
6040# 2188 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6041extern cudaError_t cudaDeviceGetP2PAttribute(int * value, cudaDeviceP2PAttr attr, int srcDevice, int dstDevice);
6042# 2210 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6043extern cudaError_t cudaChooseDevice(int * device, const cudaDeviceProp * prop);
6044# 2239 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6045extern cudaError_t cudaInitDevice(int device, unsigned deviceFlags, unsigned flags);
6046# 2285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6047extern cudaError_t cudaSetDevice(int device);
6048# 2307 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6049extern cudaError_t cudaGetDevice(int * device);
6050# 2338 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6051extern cudaError_t cudaSetValidDevices(int * device_arr, int len);
6052# 2408 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6053extern cudaError_t cudaSetDeviceFlags(unsigned flags);
6054# 2453 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6055extern cudaError_t cudaGetDeviceFlags(unsigned * flags);
6056# 2497 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6057extern cudaError_t cudaStreamCreate(cudaStream_t * pStream);
6058# 2533 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6059extern cudaError_t cudaStreamCreateWithFlags(cudaStream_t * pStream, unsigned flags);
6060# 2585 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6061extern cudaError_t cudaStreamCreateWithPriority(cudaStream_t * pStream, unsigned flags, int priority);
6062# 2613 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6063extern cudaError_t cudaStreamGetPriority(cudaStream_t hStream, int * priority);
6064# 2639 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6065extern cudaError_t cudaStreamGetFlags(cudaStream_t hStream, unsigned * flags);
6066# 2676 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6067extern cudaError_t cudaStreamGetId(cudaStream_t hStream, unsigned long long * streamId);
6068# 2702 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6069extern cudaError_t cudaStreamGetDevice(cudaStream_t hStream, int * device);
6070# 2717 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6071extern cudaError_t cudaCtxResetPersistingL2Cache();
6072# 2737 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6073extern cudaError_t cudaStreamCopyAttributes(cudaStream_t dst, cudaStream_t src);
6074# 2758 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6075extern cudaError_t cudaStreamGetAttribute(cudaStream_t hStream, cudaLaunchAttributeID attr, cudaLaunchAttributeValue * value_out);
6076# 2782 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6077extern cudaError_t cudaStreamSetAttribute(cudaStream_t hStream, cudaLaunchAttributeID attr, const cudaLaunchAttributeValue * value);
6078# 2816 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6079extern cudaError_t cudaStreamDestroy(cudaStream_t stream);
6080# 2847 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6081extern cudaError_t cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned flags = 0);
6082# 2855
6083typedef void (*cudaStreamCallback_t)(cudaStream_t stream, cudaError_t status, void * userData);
6084# 2922 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6085extern cudaError_t cudaStreamAddCallback(cudaStream_t stream, cudaStreamCallback_t callback, void * userData, unsigned flags);
6086# 2946 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6087extern cudaError_t cudaStreamSynchronize(cudaStream_t stream);
6088# 2971 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6089extern cudaError_t cudaStreamQuery(cudaStream_t stream);
6090# 3055 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6091extern cudaError_t cudaStreamAttachMemAsync(cudaStream_t stream, void * devPtr, size_t length = 0, unsigned flags = 4);
6092# 3094 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6093extern cudaError_t cudaStreamBeginCapture(cudaStream_t stream, cudaStreamCaptureMode mode);
6094# 3135 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6095extern cudaError_t cudaStreamBeginCaptureToGraph(cudaStream_t stream, cudaGraph_t graph, const cudaGraphNode_t * dependencies, const cudaGraphEdgeData * dependencyData, size_t numDependencies, cudaStreamCaptureMode mode);
6096# 3186 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6097extern cudaError_t cudaThreadExchangeStreamCaptureMode(cudaStreamCaptureMode * mode);
6098# 3215 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6099extern cudaError_t cudaStreamEndCapture(cudaStream_t stream, cudaGraph_t * pGraph);
6100# 3253 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6101extern cudaError_t cudaStreamIsCapturing(cudaStream_t stream, cudaStreamCaptureStatus * pCaptureStatus);
6102# 3303 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6103extern cudaError_t cudaStreamGetCaptureInfo_v2(cudaStream_t stream, cudaStreamCaptureStatus * captureStatus_out, unsigned long long * id_out = 0, cudaGraph_t * graph_out = 0, const cudaGraphNode_t ** dependencies_out = 0, size_t * numDependencies_out = 0);
6104# 3362 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6105extern cudaError_t cudaStreamGetCaptureInfo_v3(cudaStream_t stream, cudaStreamCaptureStatus * captureStatus_out, unsigned long long * id_out = 0, cudaGraph_t * graph_out = 0, const cudaGraphNode_t ** dependencies_out = 0, const cudaGraphEdgeData ** edgeData_out = 0, size_t * numDependencies_out = 0);
6106# 3402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6107extern cudaError_t cudaStreamUpdateCaptureDependencies(cudaStream_t stream, cudaGraphNode_t * dependencies, size_t numDependencies, unsigned flags = 0);
6108# 3437 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6109extern cudaError_t cudaStreamUpdateCaptureDependencies_v2(cudaStream_t stream, cudaGraphNode_t * dependencies, const cudaGraphEdgeData * dependencyData, size_t numDependencies, unsigned flags = 0);
6110# 3474 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6111extern cudaError_t cudaEventCreate(cudaEvent_t * event);
6112# 3511 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6113extern cudaError_t cudaEventCreateWithFlags(cudaEvent_t * event, unsigned flags);
6114# 3552 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6115extern cudaError_t cudaEventRecord(cudaEvent_t event, cudaStream_t stream = 0);
6116# 3600 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6117extern cudaError_t cudaEventRecordWithFlags(cudaEvent_t event, cudaStream_t stream = 0, unsigned flags = 0);
6118# 3633 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6119extern cudaError_t cudaEventQuery(cudaEvent_t event);
6120# 3664 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6121extern cudaError_t cudaEventSynchronize(cudaEvent_t event);
6122# 3694 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6123extern cudaError_t cudaEventDestroy(cudaEvent_t event);
6124# 3739 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6125extern cudaError_t cudaEventElapsedTime(float * ms, cudaEvent_t start, cudaEvent_t end);
6126# 3787 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6127extern cudaError_t cudaEventElapsedTime_v2(float * ms, cudaEvent_t start, cudaEvent_t end);
6128# 3968 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6129extern cudaError_t cudaImportExternalMemory(cudaExternalMemory_t * extMem_out, const cudaExternalMemoryHandleDesc * memHandleDesc);
6130# 4023 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6131extern cudaError_t cudaExternalMemoryGetMappedBuffer(void ** devPtr, cudaExternalMemory_t extMem, const cudaExternalMemoryBufferDesc * bufferDesc);
6132# 4083 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6133extern cudaError_t cudaExternalMemoryGetMappedMipmappedArray(cudaMipmappedArray_t * mipmap, cudaExternalMemory_t extMem, const cudaExternalMemoryMipmappedArrayDesc * mipmapDesc);
6134# 4107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6135extern cudaError_t cudaDestroyExternalMemory(cudaExternalMemory_t extMem);
6136# 4261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6137extern cudaError_t cudaImportExternalSemaphore(cudaExternalSemaphore_t * extSem_out, const cudaExternalSemaphoreHandleDesc * semHandleDesc);
6138# 4344 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6139extern cudaError_t cudaSignalExternalSemaphoresAsync_v2(const cudaExternalSemaphore_t * extSemArray, const cudaExternalSemaphoreSignalParams * paramsArray, unsigned numExtSems, cudaStream_t stream = 0);
6140# 4420 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6141extern cudaError_t cudaWaitExternalSemaphoresAsync_v2(const cudaExternalSemaphore_t * extSemArray, const cudaExternalSemaphoreWaitParams * paramsArray, unsigned numExtSems, cudaStream_t stream = 0);
6142# 4443 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6143extern cudaError_t cudaDestroyExternalSemaphore(cudaExternalSemaphore_t extSem);
6144# 4511 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6145extern cudaError_t cudaLaunchKernel(const void * func, dim3 gridDim, dim3 blockDim, void ** args, size_t sharedMem, cudaStream_t stream);
6146# 4574 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6147extern cudaError_t cudaLaunchKernelExC(const cudaLaunchConfig_t * config, const void * func, void ** args);
6148# 4632 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6149extern cudaError_t cudaLaunchCooperativeKernel(const void * func, dim3 gridDim, dim3 blockDim, void ** args, size_t sharedMem, cudaStream_t stream);
6150# 4733 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6151__attribute((deprecated)) extern cudaError_t cudaLaunchCooperativeKernelMultiDevice(cudaLaunchParams * launchParamsList, unsigned numDevices, unsigned flags = 0);
6152# 4783 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6153extern cudaError_t cudaFuncSetCacheConfig(const void * func, cudaFuncCache cacheConfig);
6154# 4818 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6155extern cudaError_t cudaFuncGetAttributes(cudaFuncAttributes * attr, const void * func);
6156# 4877 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6157extern cudaError_t cudaFuncSetAttribute(const void * func, cudaFuncAttribute attr, int value);
6158# 4903 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6159extern cudaError_t cudaFuncGetName(const char ** name, const void * func);
6160# 4926 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6161extern cudaError_t cudaFuncGetParamInfo(const void * func, size_t paramIndex, size_t * paramOffset, size_t * paramSize);
6162# 4950 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6163__attribute((deprecated)) extern cudaError_t cudaSetDoubleForDevice(double * d);
6164# 4974 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6165__attribute((deprecated)) extern cudaError_t cudaSetDoubleForHost(double * d);
6166# 5040 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6167extern cudaError_t cudaLaunchHostFunc(cudaStream_t stream, cudaHostFn_t fn, void * userData);
6168# 5114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6169__attribute((deprecated)) extern cudaError_t cudaFuncSetSharedMemConfig(const void * func, cudaSharedMemConfig config);
6170# 5171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6171extern cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int * numBlocks, const void * func, int blockSize, size_t dynamicSMemSize);
6172# 5201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6173extern cudaError_t cudaOccupancyAvailableDynamicSMemPerBlock(size_t * dynamicSmemSize, const void * func, int numBlocks, int blockSize);
6174# 5247 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6175extern cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int * numBlocks, const void * func, int blockSize, size_t dynamicSMemSize, unsigned flags);
6176# 5283 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6177extern cudaError_t cudaOccupancyMaxPotentialClusterSize(int * clusterSize, const void * func, const cudaLaunchConfig_t * launchConfig);
6178# 5323 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6179extern cudaError_t cudaOccupancyMaxActiveClusters(int * numClusters, const void * func, const cudaLaunchConfig_t * launchConfig);
6180# 5443 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6181extern cudaError_t cudaMallocManaged(void ** devPtr, size_t size, unsigned flags = 1);
6182# 5476 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6183extern cudaError_t cudaMalloc(void ** devPtr, size_t size);
6184# 5513 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6185extern cudaError_t cudaMallocHost(void ** ptr, size_t size);
6186# 5556 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6187extern cudaError_t cudaMallocPitch(void ** devPtr, size_t * pitch, size_t width, size_t height);
6188# 5608 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6189extern cudaError_t cudaMallocArray(cudaArray_t * array, const cudaChannelFormatDesc * desc, size_t width, size_t height = 0, unsigned flags = 0);
6190# 5647 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6191extern cudaError_t cudaFree(void * devPtr);
6192# 5670 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6193extern cudaError_t cudaFreeHost(void * ptr);
6194# 5693 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6195extern cudaError_t cudaFreeArray(cudaArray_t array);
6196# 5716 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6197extern cudaError_t cudaFreeMipmappedArray(cudaMipmappedArray_t mipmappedArray);
6198# 5782 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6199extern cudaError_t cudaHostAlloc(void ** pHost, size_t size, unsigned flags);
6200# 5879 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6201extern cudaError_t cudaHostRegister(void * ptr, size_t size, unsigned flags);
6202# 5902 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6203extern cudaError_t cudaHostUnregister(void * ptr);
6204# 5947 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6205extern cudaError_t cudaHostGetDevicePointer(void ** pDevice, void * pHost, unsigned flags);
6206# 5969 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6207extern cudaError_t cudaHostGetFlags(unsigned * pFlags, void * pHost);
6208# 6008 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6209extern cudaError_t cudaMalloc3D(cudaPitchedPtr * pitchedDevPtr, cudaExtent extent);
6210# 6153 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6211extern cudaError_t cudaMalloc3DArray(cudaArray_t * array, const cudaChannelFormatDesc * desc, cudaExtent extent, unsigned flags = 0);
6212# 6298 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6213extern cudaError_t cudaMallocMipmappedArray(cudaMipmappedArray_t * mipmappedArray, const cudaChannelFormatDesc * desc, cudaExtent extent, unsigned numLevels, unsigned flags = 0);
6214# 6331 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6215extern cudaError_t cudaGetMipmappedArrayLevel(cudaArray_t * levelArray, cudaMipmappedArray_const_t mipmappedArray, unsigned level);
6216# 6436 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6217extern cudaError_t cudaMemcpy3D(const cudaMemcpy3DParms * p);
6218# 6468 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6219extern cudaError_t cudaMemcpy3DPeer(const cudaMemcpy3DPeerParms * p);
6220# 6586 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6221extern cudaError_t cudaMemcpy3DAsync(const cudaMemcpy3DParms * p, cudaStream_t stream = 0);
6222# 6613 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6223extern cudaError_t cudaMemcpy3DPeerAsync(const cudaMemcpy3DPeerParms * p, cudaStream_t stream = 0);
6224# 6647 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6225extern cudaError_t cudaMemGetInfo(size_t * free, size_t * total);
6226# 6673 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6227extern cudaError_t cudaArrayGetInfo(cudaChannelFormatDesc * desc, cudaExtent * extent, unsigned * flags, cudaArray_t array);
6228# 6702 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6229extern cudaError_t cudaArrayGetPlane(cudaArray_t * pPlaneArray, cudaArray_t hArray, unsigned planeIdx);
6230# 6725 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6231extern cudaError_t cudaArrayGetMemoryRequirements(cudaArrayMemoryRequirements * memoryRequirements, cudaArray_t array, int device);
6232# 6749 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6233extern cudaError_t cudaMipmappedArrayGetMemoryRequirements(cudaArrayMemoryRequirements * memoryRequirements, cudaMipmappedArray_t mipmap, int device);
6234# 6777 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6235extern cudaError_t cudaArrayGetSparseProperties(cudaArraySparseProperties * sparseProperties, cudaArray_t array);
6236# 6807 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6237extern cudaError_t cudaMipmappedArrayGetSparseProperties(cudaArraySparseProperties * sparseProperties, cudaMipmappedArray_t mipmap);
6238# 6852 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6239extern cudaError_t cudaMemcpy(void * dst, const void * src, size_t count, cudaMemcpyKind kind);
6240# 6887 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6241extern cudaError_t cudaMemcpyPeer(void * dst, int dstDevice, const void * src, int srcDevice, size_t count);
6242# 6936 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6243extern cudaError_t cudaMemcpy2D(void * dst, size_t dpitch, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
6244# 6986 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6245extern cudaError_t cudaMemcpy2DToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind);
6246# 7036 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6247extern cudaError_t cudaMemcpy2DFromArray(void * dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind);
6248# 7083 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6249extern cudaError_t cudaMemcpy2DArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t width, size_t height, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
6250# 7126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6251extern cudaError_t cudaMemcpyToSymbol(const void * symbol, const void * src, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyHostToDevice);
6252# 7170 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6253extern cudaError_t cudaMemcpyFromSymbol(void * dst, const void * symbol, size_t count, size_t offset = 0, cudaMemcpyKind kind = cudaMemcpyDeviceToHost);
6254# 7227 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6255extern cudaError_t cudaMemcpyAsync(void * dst, const void * src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
6256# 7262 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6257extern cudaError_t cudaMemcpyPeerAsync(void * dst, int dstDevice, const void * src, int srcDevice, size_t count, cudaStream_t stream = 0);
6258# 7334 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6259extern cudaError_t cudaMemcpyBatchAsync(void ** dsts, void ** srcs, size_t * sizes, size_t count, cudaMemcpyAttributes * attrs, size_t * attrsIdxs, size_t numAttrs, size_t * failIdx, cudaStream_t stream);
6260# 7402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6261extern cudaError_t cudaMemcpy3DBatchAsync(size_t numOps, cudaMemcpy3DBatchOp * opList, size_t * failIdx, unsigned long long flags, cudaStream_t stream);
6262# 7465 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6263extern cudaError_t cudaMemcpy2DAsync(void * dst, size_t dpitch, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
6264# 7523 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6265extern cudaError_t cudaMemcpy2DToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void * src, size_t spitch, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
6266# 7580 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6267extern cudaError_t cudaMemcpy2DFromArrayAsync(void * dst, size_t dpitch, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t width, size_t height, cudaMemcpyKind kind, cudaStream_t stream = 0);
6268# 7631 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6269extern cudaError_t cudaMemcpyToSymbolAsync(const void * symbol, const void * src, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
6270# 7682 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6271extern cudaError_t cudaMemcpyFromSymbolAsync(void * dst, const void * symbol, size_t count, size_t offset, cudaMemcpyKind kind, cudaStream_t stream = 0);
6272# 7711 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6273extern cudaError_t cudaMemset(void * devPtr, int value, size_t count);
6274# 7745 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6275extern cudaError_t cudaMemset2D(void * devPtr, size_t pitch, int value, size_t width, size_t height);
6276# 7791 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6277extern cudaError_t cudaMemset3D(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent);
6278# 7827 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6279extern cudaError_t cudaMemsetAsync(void * devPtr, int value, size_t count, cudaStream_t stream = 0);
6280# 7868 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6281extern cudaError_t cudaMemset2DAsync(void * devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream = 0);
6282# 7921 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6283extern cudaError_t cudaMemset3DAsync(cudaPitchedPtr pitchedDevPtr, int value, cudaExtent extent, cudaStream_t stream = 0);
6284# 7949 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6285extern cudaError_t cudaGetSymbolAddress(void ** devPtr, const void * symbol);
6286# 7976 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6287extern cudaError_t cudaGetSymbolSize(size_t * size, const void * symbol);
6288# 8048 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6289extern cudaError_t cudaMemPrefetchAsync(const void * devPtr, size_t count, int dstDevice, cudaStream_t stream = 0);
6290# 8129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6291extern cudaError_t cudaMemPrefetchAsync_v2(const void * devPtr, size_t count, cudaMemLocation location, unsigned flags, cudaStream_t stream = 0);
6292# 8243 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6293extern cudaError_t cudaMemAdvise(const void * devPtr, size_t count, cudaMemoryAdvise advice, int device);
6294# 8366 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6295extern cudaError_t cudaMemAdvise_v2(const void * devPtr, size_t count, cudaMemoryAdvise advice, cudaMemLocation location);
6296# 8448 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6297extern cudaError_t cudaMemRangeGetAttribute(void * data, size_t dataSize, cudaMemRangeAttribute attribute, const void * devPtr, size_t count);
6298# 8491 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6299extern cudaError_t cudaMemRangeGetAttributes(void ** data, size_t * dataSizes, cudaMemRangeAttribute * attributes, size_t numAttributes, const void * devPtr, size_t count);
6300# 8551 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6301__attribute((deprecated)) extern cudaError_t cudaMemcpyToArray(cudaArray_t dst, size_t wOffset, size_t hOffset, const void * src, size_t count, cudaMemcpyKind kind);
6302# 8593 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6303__attribute((deprecated)) extern cudaError_t cudaMemcpyFromArray(void * dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind);
6304# 8636 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6305__attribute((deprecated)) extern cudaError_t cudaMemcpyArrayToArray(cudaArray_t dst, size_t wOffsetDst, size_t hOffsetDst, cudaArray_const_t src, size_t wOffsetSrc, size_t hOffsetSrc, size_t count, cudaMemcpyKind kind = cudaMemcpyDeviceToDevice);
6306# 8687 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6307__attribute((deprecated)) extern cudaError_t cudaMemcpyToArrayAsync(cudaArray_t dst, size_t wOffset, size_t hOffset, const void * src, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
6308# 8737 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6309__attribute((deprecated)) extern cudaError_t cudaMemcpyFromArrayAsync(void * dst, cudaArray_const_t src, size_t wOffset, size_t hOffset, size_t count, cudaMemcpyKind kind, cudaStream_t stream = 0);
6310# 8806 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6311extern cudaError_t cudaMallocAsync(void ** devPtr, size_t size, cudaStream_t hStream);
6312# 8832 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6313extern cudaError_t cudaFreeAsync(void * devPtr, cudaStream_t hStream);
6314# 8857 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6315extern cudaError_t cudaMemPoolTrimTo(cudaMemPool_t memPool, size_t minBytesToKeep);
6316# 8901 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6317extern cudaError_t cudaMemPoolSetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void * value);
6318# 8949 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6319extern cudaError_t cudaMemPoolGetAttribute(cudaMemPool_t memPool, cudaMemPoolAttr attr, void * value);
6320# 8964 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6321extern cudaError_t cudaMemPoolSetAccess(cudaMemPool_t memPool, const cudaMemAccessDesc * descList, size_t count);
6322# 8977 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6323extern cudaError_t cudaMemPoolGetAccess(cudaMemAccessFlags * flags, cudaMemPool_t memPool, cudaMemLocation * location);
6324# 9021 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6325extern cudaError_t cudaMemPoolCreate(cudaMemPool_t * memPool, const cudaMemPoolProps * poolProps);
6326# 9043 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6327extern cudaError_t cudaMemPoolDestroy(cudaMemPool_t memPool);
6328# 9079 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6329extern cudaError_t cudaMallocFromPoolAsync(void ** ptr, size_t size, cudaMemPool_t memPool, cudaStream_t stream);
6330# 9104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6331extern cudaError_t cudaMemPoolExportToShareableHandle(void * shareableHandle, cudaMemPool_t memPool, cudaMemAllocationHandleType handleType, unsigned flags);
6332# 9131 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6333extern cudaError_t cudaMemPoolImportFromShareableHandle(cudaMemPool_t * memPool, void * shareableHandle, cudaMemAllocationHandleType handleType, unsigned flags);
6334# 9154 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6335extern cudaError_t cudaMemPoolExportPointer(cudaMemPoolPtrExportData * exportData, void * ptr);
6336# 9183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6337extern cudaError_t cudaMemPoolImportPointer(void ** ptr, cudaMemPool_t memPool, cudaMemPoolPtrExportData * exportData);
6338# 9336 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6339extern cudaError_t cudaPointerGetAttributes(cudaPointerAttributes * attributes, const void * ptr);
6340# 9377 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6341extern cudaError_t cudaDeviceCanAccessPeer(int * canAccessPeer, int device, int peerDevice);
6342# 9419 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6343extern cudaError_t cudaDeviceEnablePeerAccess(int peerDevice, unsigned flags);
6344# 9441 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6345extern cudaError_t cudaDeviceDisablePeerAccess(int peerDevice);
6346# 9505 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6347extern cudaError_t cudaGraphicsUnregisterResource(cudaGraphicsResource_t resource);
6348# 9540 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6349extern cudaError_t cudaGraphicsResourceSetMapFlags(cudaGraphicsResource_t resource, unsigned flags);
6350# 9579 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6351extern cudaError_t cudaGraphicsMapResources(int count, cudaGraphicsResource_t * resources, cudaStream_t stream = 0);
6352# 9614 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6353extern cudaError_t cudaGraphicsUnmapResources(int count, cudaGraphicsResource_t * resources, cudaStream_t stream = 0);
6354# 9646 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6355extern cudaError_t cudaGraphicsResourceGetMappedPointer(void ** devPtr, size_t * size, cudaGraphicsResource_t resource);
6356# 9684 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6357extern cudaError_t cudaGraphicsSubResourceGetMappedArray(cudaArray_t * array, cudaGraphicsResource_t resource, unsigned arrayIndex, unsigned mipLevel);
6358# 9713 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6359extern cudaError_t cudaGraphicsResourceGetMappedMipmappedArray(cudaMipmappedArray_t * mipmappedArray, cudaGraphicsResource_t resource);
6360# 9748 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6361extern cudaError_t cudaGetChannelDesc(cudaChannelFormatDesc * desc, cudaArray_const_t array);
6362# 9778 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6363extern cudaChannelFormatDesc cudaCreateChannelDesc(int x, int y, int z, int w, cudaChannelFormatKind f);
6364# 10003 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6365extern cudaError_t cudaCreateTextureObject(cudaTextureObject_t * pTexObject, const cudaResourceDesc * pResDesc, const cudaTextureDesc * pTexDesc, const cudaResourceViewDesc * pResViewDesc);
6366# 10023 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6367extern cudaError_t cudaDestroyTextureObject(cudaTextureObject_t texObject);
6368# 10043 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6369extern cudaError_t cudaGetTextureObjectResourceDesc(cudaResourceDesc * pResDesc, cudaTextureObject_t texObject);
6370# 10063 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6371extern cudaError_t cudaGetTextureObjectTextureDesc(cudaTextureDesc * pTexDesc, cudaTextureObject_t texObject);
6372# 10084 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6373extern cudaError_t cudaGetTextureObjectResourceViewDesc(cudaResourceViewDesc * pResViewDesc, cudaTextureObject_t texObject);
6374# 10129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6375extern cudaError_t cudaCreateSurfaceObject(cudaSurfaceObject_t * pSurfObject, const cudaResourceDesc * pResDesc);
6376# 10149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6377extern cudaError_t cudaDestroySurfaceObject(cudaSurfaceObject_t surfObject);
6378# 10168 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6379extern cudaError_t cudaGetSurfaceObjectResourceDesc(cudaResourceDesc * pResDesc, cudaSurfaceObject_t surfObject);
6380# 10202 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6381extern cudaError_t cudaDriverGetVersion(int * driverVersion);
6382# 10231 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6383extern cudaError_t cudaRuntimeGetVersion(int * runtimeVersion);
6384# 10278 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6385extern cudaError_t cudaGraphCreate(cudaGraph_t * pGraph, unsigned flags);
6386# 10377 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6387extern cudaError_t cudaGraphAddKernelNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaKernelNodeParams * pNodeParams);
6388# 10410 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6389extern cudaError_t cudaGraphKernelNodeGetParams(cudaGraphNode_t node, cudaKernelNodeParams * pNodeParams);
6390# 10437 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6391extern cudaError_t cudaGraphKernelNodeSetParams(cudaGraphNode_t node, const cudaKernelNodeParams * pNodeParams);
6392# 10457 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6393extern cudaError_t cudaGraphKernelNodeCopyAttributes(cudaGraphNode_t hSrc, cudaGraphNode_t hDst);
6394# 10480 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6395extern cudaError_t cudaGraphKernelNodeGetAttribute(cudaGraphNode_t hNode, cudaLaunchAttributeID attr, cudaLaunchAttributeValue * value_out);
6396# 10504 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6397extern cudaError_t cudaGraphKernelNodeSetAttribute(cudaGraphNode_t hNode, cudaLaunchAttributeID attr, const cudaLaunchAttributeValue * value);
6398# 10555 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6399extern cudaError_t cudaGraphAddMemcpyNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaMemcpy3DParms * pCopyParams);
6400# 10614 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6401extern cudaError_t cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const void * symbol, const void * src, size_t count, size_t offset, cudaMemcpyKind kind);
6402# 10683 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6403extern cudaError_t cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, void * dst, const void * symbol, size_t count, size_t offset, cudaMemcpyKind kind);
6404# 10751 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6405extern cudaError_t cudaGraphAddMemcpyNode1D(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, void * dst, const void * src, size_t count, cudaMemcpyKind kind);
6406# 10783 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6407extern cudaError_t cudaGraphMemcpyNodeGetParams(cudaGraphNode_t node, cudaMemcpy3DParms * pNodeParams);
6408# 10810 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6409extern cudaError_t cudaGraphMemcpyNodeSetParams(cudaGraphNode_t node, const cudaMemcpy3DParms * pNodeParams);
6410# 10849 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6411extern cudaError_t cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t node, const void * symbol, const void * src, size_t count, size_t offset, cudaMemcpyKind kind);
6412# 10895 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6413extern cudaError_t cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t node, void * dst, const void * symbol, size_t count, size_t offset, cudaMemcpyKind kind);
6414# 10941 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6415extern cudaError_t cudaGraphMemcpyNodeSetParams1D(cudaGraphNode_t node, void * dst, const void * src, size_t count, cudaMemcpyKind kind);
6416# 10989 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6417extern cudaError_t cudaGraphAddMemsetNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaMemsetParams * pMemsetParams);
6418# 11012 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6419extern cudaError_t cudaGraphMemsetNodeGetParams(cudaGraphNode_t node, cudaMemsetParams * pNodeParams);
6420# 11036 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6421extern cudaError_t cudaGraphMemsetNodeSetParams(cudaGraphNode_t node, const cudaMemsetParams * pNodeParams);
6422# 11078 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6423extern cudaError_t cudaGraphAddHostNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaHostNodeParams * pNodeParams);
6424# 11101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6425extern cudaError_t cudaGraphHostNodeGetParams(cudaGraphNode_t node, cudaHostNodeParams * pNodeParams);
6426# 11125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6427extern cudaError_t cudaGraphHostNodeSetParams(cudaGraphNode_t node, const cudaHostNodeParams * pNodeParams);
6428# 11166 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6429extern cudaError_t cudaGraphAddChildGraphNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, cudaGraph_t childGraph);
6430# 11193 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6431extern cudaError_t cudaGraphChildGraphNodeGetGraph(cudaGraphNode_t node, cudaGraph_t * pGraph);
6432# 11231 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6433extern cudaError_t cudaGraphAddEmptyNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies);
6434# 11275 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6435extern cudaError_t cudaGraphAddEventRecordNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, cudaEvent_t event);
6436# 11302 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6437extern cudaError_t cudaGraphEventRecordNodeGetEvent(cudaGraphNode_t node, cudaEvent_t * event_out);
6438# 11330 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6439extern cudaError_t cudaGraphEventRecordNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
6440# 11377 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6441extern cudaError_t cudaGraphAddEventWaitNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, cudaEvent_t event);
6442# 11404 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6443extern cudaError_t cudaGraphEventWaitNodeGetEvent(cudaGraphNode_t node, cudaEvent_t * event_out);
6444# 11432 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6445extern cudaError_t cudaGraphEventWaitNodeSetEvent(cudaGraphNode_t node, cudaEvent_t event);
6446# 11482 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6447extern cudaError_t cudaGraphAddExternalSemaphoresSignalNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaExternalSemaphoreSignalNodeParams * nodeParams);
6448# 11515 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6449extern cudaError_t cudaGraphExternalSemaphoresSignalNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreSignalNodeParams * params_out);
6450# 11543 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6451extern cudaError_t cudaGraphExternalSemaphoresSignalNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams * nodeParams);
6452# 11593 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6453extern cudaError_t cudaGraphAddExternalSemaphoresWaitNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, const cudaExternalSemaphoreWaitNodeParams * nodeParams);
6454# 11626 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6455extern cudaError_t cudaGraphExternalSemaphoresWaitNodeGetParams(cudaGraphNode_t hNode, cudaExternalSemaphoreWaitNodeParams * params_out);
6456# 11654 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6457extern cudaError_t cudaGraphExternalSemaphoresWaitNodeSetParams(cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams * nodeParams);
6458# 11732 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6459extern cudaError_t cudaGraphAddMemAllocNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, cudaMemAllocNodeParams * nodeParams);
6460# 11759 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6461extern cudaError_t cudaGraphMemAllocNodeGetParams(cudaGraphNode_t node, cudaMemAllocNodeParams * params_out);
6462# 11820 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6463extern cudaError_t cudaGraphAddMemFreeNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, void * dptr);
6464# 11844 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6465extern cudaError_t cudaGraphMemFreeNodeGetParams(cudaGraphNode_t node, void * dptr_out);
6466# 11872 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6467extern cudaError_t cudaDeviceGraphMemTrim(int device);
6468# 11909 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6469extern cudaError_t cudaDeviceGetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void * value);
6470# 11943 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6471extern cudaError_t cudaDeviceSetGraphMemAttribute(int device, cudaGraphMemAttributeType attr, void * value);
6472# 11971 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6473extern cudaError_t cudaGraphClone(cudaGraph_t * pGraphClone, cudaGraph_t originalGraph);
6474# 11999 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6475extern cudaError_t cudaGraphNodeFindInClone(cudaGraphNode_t * pNode, cudaGraphNode_t originalNode, cudaGraph_t clonedGraph);
6476# 12030 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6477extern cudaError_t cudaGraphNodeGetType(cudaGraphNode_t node, cudaGraphNodeType * pType);
6478# 12061 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6479extern cudaError_t cudaGraphGetNodes(cudaGraph_t graph, cudaGraphNode_t * nodes, size_t * numNodes);
6480# 12092 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6481extern cudaError_t cudaGraphGetRootNodes(cudaGraph_t graph, cudaGraphNode_t * pRootNodes, size_t * pNumRootNodes);
6482# 12126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6483extern cudaError_t cudaGraphGetEdges(cudaGraph_t graph, cudaGraphNode_t * from, cudaGraphNode_t * to, size_t * numEdges);
6484# 12166 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6485extern cudaError_t cudaGraphGetEdges_v2(cudaGraph_t graph, cudaGraphNode_t * from, cudaGraphNode_t * to, cudaGraphEdgeData * edgeData, size_t * numEdges);
6486# 12197 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6487extern cudaError_t cudaGraphNodeGetDependencies(cudaGraphNode_t node, cudaGraphNode_t * pDependencies, size_t * pNumDependencies);
6488# 12234 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6489extern cudaError_t cudaGraphNodeGetDependencies_v2(cudaGraphNode_t node, cudaGraphNode_t * pDependencies, cudaGraphEdgeData * edgeData, size_t * pNumDependencies);
6490# 12266 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6491extern cudaError_t cudaGraphNodeGetDependentNodes(cudaGraphNode_t node, cudaGraphNode_t * pDependentNodes, size_t * pNumDependentNodes);
6492# 12304 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6493extern cudaError_t cudaGraphNodeGetDependentNodes_v2(cudaGraphNode_t node, cudaGraphNode_t * pDependentNodes, cudaGraphEdgeData * edgeData, size_t * pNumDependentNodes);
6494# 12335 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6495extern cudaError_t cudaGraphAddDependencies(cudaGraph_t graph, const cudaGraphNode_t * from, const cudaGraphNode_t * to, size_t numDependencies);
6496# 12367 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6497extern cudaError_t cudaGraphAddDependencies_v2(cudaGraph_t graph, const cudaGraphNode_t * from, const cudaGraphNode_t * to, const cudaGraphEdgeData * edgeData, size_t numDependencies);
6498# 12398 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6499extern cudaError_t cudaGraphRemoveDependencies(cudaGraph_t graph, const cudaGraphNode_t * from, const cudaGraphNode_t * to, size_t numDependencies);
6500# 12433 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6501extern cudaError_t cudaGraphRemoveDependencies_v2(cudaGraph_t graph, const cudaGraphNode_t * from, const cudaGraphNode_t * to, const cudaGraphEdgeData * edgeData, size_t numDependencies);
6502# 12463 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6503extern cudaError_t cudaGraphDestroyNode(cudaGraphNode_t node);
6504# 12534 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6505extern cudaError_t cudaGraphInstantiate(cudaGraphExec_t * pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
6506# 12607 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6507extern cudaError_t cudaGraphInstantiateWithFlags(cudaGraphExec_t * pGraphExec, cudaGraph_t graph, unsigned long long flags = 0);
6508# 12714 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6509extern cudaError_t cudaGraphInstantiateWithParams(cudaGraphExec_t * pGraphExec, cudaGraph_t graph, cudaGraphInstantiateParams * instantiateParams);
6510# 12739 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6511extern cudaError_t cudaGraphExecGetFlags(cudaGraphExec_t graphExec, unsigned long long * flags);
6512# 12799 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6513extern cudaError_t cudaGraphExecKernelNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaKernelNodeParams * pNodeParams);
6514# 12850 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6515extern cudaError_t cudaGraphExecMemcpyNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemcpy3DParms * pNodeParams);
6516# 12905 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6517extern cudaError_t cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const void * symbol, const void * src, size_t count, size_t offset, cudaMemcpyKind kind);
6518# 12968 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6519extern cudaError_t cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void * dst, const void * symbol, size_t count, size_t offset, cudaMemcpyKind kind);
6520# 13029 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6521extern cudaError_t cudaGraphExecMemcpyNodeSetParams1D(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, void * dst, const void * src, size_t count, cudaMemcpyKind kind);
6522# 13088 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6523extern cudaError_t cudaGraphExecMemsetNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaMemsetParams * pNodeParams);
6524# 13128 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6525extern cudaError_t cudaGraphExecHostNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, const cudaHostNodeParams * pNodeParams);
6526# 13175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6527extern cudaError_t cudaGraphExecChildGraphNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t node, cudaGraph_t childGraph);
6528# 13220 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6529extern cudaError_t cudaGraphExecEventRecordNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
6530# 13265 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6531extern cudaError_t cudaGraphExecEventWaitNodeSetEvent(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, cudaEvent_t event);
6532# 13313 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6533extern cudaError_t cudaGraphExecExternalSemaphoresSignalNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreSignalNodeParams * nodeParams);
6534# 13361 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6535extern cudaError_t cudaGraphExecExternalSemaphoresWaitNodeSetParams(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, const cudaExternalSemaphoreWaitNodeParams * nodeParams);
6536# 13401 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6537extern cudaError_t cudaGraphNodeSetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned isEnabled);
6538# 13435 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6539extern cudaError_t cudaGraphNodeGetEnabled(cudaGraphExec_t hGraphExec, cudaGraphNode_t hNode, unsigned * isEnabled);
6540# 13529 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6541extern cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphExecUpdateResultInfo * resultInfo);
6542# 13554 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6543extern cudaError_t cudaGraphUpload(cudaGraphExec_t graphExec, cudaStream_t stream);
6544# 13585 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6545extern cudaError_t cudaGraphLaunch(cudaGraphExec_t graphExec, cudaStream_t stream);
6546# 13608 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6547extern cudaError_t cudaGraphExecDestroy(cudaGraphExec_t graphExec);
6548# 13629 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6549extern cudaError_t cudaGraphDestroy(cudaGraph_t graph);
6550# 13648 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6551extern cudaError_t cudaGraphDebugDotPrint(cudaGraph_t graph, const char * path, unsigned flags);
6552# 13684 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6553extern cudaError_t cudaUserObjectCreate(cudaUserObject_t * object_out, void * ptr, cudaHostFn_t destroy, unsigned initialRefcount, unsigned flags);
6554# 13708 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6555extern cudaError_t cudaUserObjectRetain(cudaUserObject_t object, unsigned count = 1);
6556# 13736 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6557extern cudaError_t cudaUserObjectRelease(cudaUserObject_t object, unsigned count = 1);
6558# 13764 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6559extern cudaError_t cudaGraphRetainUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned count = 1, unsigned flags = 0);
6560# 13789 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6561extern cudaError_t cudaGraphReleaseUserObject(cudaGraph_t graph, cudaUserObject_t object, unsigned count = 1);
6562# 13831 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6563extern cudaError_t cudaGraphAddNode(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, size_t numDependencies, cudaGraphNodeParams * nodeParams);
6564# 13875 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6565extern cudaError_t cudaGraphAddNode_v2(cudaGraphNode_t * pGraphNode, cudaGraph_t graph, const cudaGraphNode_t * pDependencies, const cudaGraphEdgeData * dependencyData, size_t numDependencies, cudaGraphNodeParams * nodeParams);
6566# 13904 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6567extern cudaError_t cudaGraphNodeSetParams(cudaGraphNode_t node, cudaGraphNodeParams * nodeParams);
6568# 13953 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6569extern cudaError_t cudaGraphExecNodeSetParams(cudaGraphExec_t graphExec, cudaGraphNode_t node, cudaGraphNodeParams * nodeParams);
6570# 13980 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6571extern cudaError_t cudaGraphConditionalHandleCreate(cudaGraphConditionalHandle * pHandle_out, cudaGraph_t graph, unsigned defaultLaunchValue = 0, unsigned flags = 0);
6572# 14061 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6573extern cudaError_t cudaGetDriverEntryPoint(const char * symbol, void ** funcPtr, unsigned long long flags, cudaDriverEntryPointQueryResult * driverStatus = 0);
6574# 14137 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6575extern cudaError_t cudaGetDriverEntryPointByVersion(const char * symbol, void ** funcPtr, unsigned cudaVersion, unsigned long long flags, cudaDriverEntryPointQueryResult * driverStatus = 0);
6576# 14212 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6577extern cudaError_t cudaLibraryLoadData(cudaLibrary_t * library, const void * code, cudaJitOption * jitOptions, void ** jitOptionsValues, unsigned numJitOptions, cudaLibraryOption * libraryOptions, void ** libraryOptionValues, unsigned numLibraryOptions);
6578# 14272 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6579extern cudaError_t cudaLibraryLoadFromFile(cudaLibrary_t * library, const char * fileName, cudaJitOption * jitOptions, void ** jitOptionsValues, unsigned numJitOptions, cudaLibraryOption * libraryOptions, void ** libraryOptionValues, unsigned numLibraryOptions);
6580# 14293 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6581extern cudaError_t cudaLibraryUnload(cudaLibrary_t library);
6582# 14318 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6583extern cudaError_t cudaLibraryGetKernel(cudaKernel_t * pKernel, cudaLibrary_t library, const char * name);
6584# 14352 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6585extern cudaError_t cudaLibraryGetGlobal(void ** dptr, size_t * bytes, cudaLibrary_t library, const char * name);
6586# 14385 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6587extern cudaError_t cudaLibraryGetManaged(void ** dptr, size_t * bytes, cudaLibrary_t library, const char * name);
6588# 14412 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6589extern cudaError_t cudaLibraryGetUnifiedFunction(void ** fptr, cudaLibrary_t library, const char * symbol);
6590# 14434 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6591extern cudaError_t cudaLibraryGetKernelCount(unsigned * count, cudaLibrary_t lib);
6592# 14456 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6593extern cudaError_t cudaLibraryEnumerateKernels(cudaKernel_t * kernels, unsigned numKernels, cudaLibrary_t lib);
6594# 14525 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6595extern cudaError_t cudaKernelSetAttributeForDevice(cudaKernel_t kernel, cudaFuncAttribute attr, int value, int device);
6596# 14530
6597extern cudaError_t cudaGetExportTable(const void ** ppExportTable, const cudaUUID_t * pExportTableId);
6598# 14716 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6599extern cudaError_t cudaGetFuncBySymbol(cudaFunction_t * functionPtr, const void * symbolPtr);
6600# 14740 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6601extern cudaError_t cudaGetKernel(cudaKernel_t * kernelPtr, const void * entryFuncAddr);
6602# 14918 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime_api.h"
6603}
6604# 120 "/usr/local/cuda/bin/../targets/x86_64-linux/include/channel_descriptor.h"
6605template< class T> inline cudaChannelFormatDesc cudaCreateChannelDesc()
6606# 121
6607{
6608# 122
6609return cudaCreateChannelDesc(0, 0, 0, 0, cudaChannelFormatKindNone);
6610# 123
6611}
6612# 125
6613static inline cudaChannelFormatDesc cudaCreateChannelDescHalf()
6614# 126
6615{
6616# 127
6617int e = (((int)sizeof(unsigned short)) * 8);
6618# 129
6619return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat);
6620# 130
6621}
6622# 132
6623static inline cudaChannelFormatDesc cudaCreateChannelDescHalf1()
6624# 133
6625{
6626# 134
6627int e = (((int)sizeof(unsigned short)) * 8);
6628# 136
6629return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat);
6630# 137
6631}
6632# 139
6633static inline cudaChannelFormatDesc cudaCreateChannelDescHalf2()
6634# 140
6635{
6636# 141
6637int e = (((int)sizeof(unsigned short)) * 8);
6638# 143
6639return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindFloat);
6640# 144
6641}
6642# 146
6643static inline cudaChannelFormatDesc cudaCreateChannelDescHalf4()
6644# 147
6645{
6646# 148
6647int e = (((int)sizeof(unsigned short)) * 8);
6648# 150
6649return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindFloat);
6650# 151
6651}
6652# 153
6653template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char> ()
6654# 154
6655{
6656# 155
6657int e = (((int)sizeof(char)) * 8);
6658# 160
6659return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6660# 162
6661}
6662# 164
6663template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< signed char> ()
6664# 165
6665{
6666# 166
6667int e = (((int)sizeof(signed char)) * 8);
6668# 168
6669return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6670# 169
6671}
6672# 171
6673template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned char> ()
6674# 172
6675{
6676# 173
6677int e = (((int)sizeof(unsigned char)) * 8);
6678# 175
6679return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6680# 176
6681}
6682# 178
6683template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char1> ()
6684# 179
6685{
6686# 180
6687int e = (((int)sizeof(signed char)) * 8);
6688# 182
6689return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6690# 183
6691}
6692# 185
6693template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar1> ()
6694# 186
6695{
6696# 187
6697int e = (((int)sizeof(unsigned char)) * 8);
6698# 189
6699return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6700# 190
6701}
6702# 192
6703template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char2> ()
6704# 193
6705{
6706# 194
6707int e = (((int)sizeof(signed char)) * 8);
6708# 196
6709return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned);
6710# 197
6711}
6712# 199
6713template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar2> ()
6714# 200
6715{
6716# 201
6717int e = (((int)sizeof(unsigned char)) * 8);
6718# 203
6719return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned);
6720# 204
6721}
6722# 206
6723template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< char4> ()
6724# 207
6725{
6726# 208
6727int e = (((int)sizeof(signed char)) * 8);
6728# 210
6729return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned);
6730# 211
6731}
6732# 213
6733template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uchar4> ()
6734# 214
6735{
6736# 215
6737int e = (((int)sizeof(unsigned char)) * 8);
6738# 217
6739return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned);
6740# 218
6741}
6742# 220
6743template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short> ()
6744# 221
6745{
6746# 222
6747int e = (((int)sizeof(short)) * 8);
6748# 224
6749return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6750# 225
6751}
6752# 227
6753template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned short> ()
6754# 228
6755{
6756# 229
6757int e = (((int)sizeof(unsigned short)) * 8);
6758# 231
6759return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6760# 232
6761}
6762# 234
6763template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short1> ()
6764# 235
6765{
6766# 236
6767int e = (((int)sizeof(short)) * 8);
6768# 238
6769return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6770# 239
6771}
6772# 241
6773template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort1> ()
6774# 242
6775{
6776# 243
6777int e = (((int)sizeof(unsigned short)) * 8);
6778# 245
6779return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6780# 246
6781}
6782# 248
6783template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short2> ()
6784# 249
6785{
6786# 250
6787int e = (((int)sizeof(short)) * 8);
6788# 252
6789return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned);
6790# 253
6791}
6792# 255
6793template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort2> ()
6794# 256
6795{
6796# 257
6797int e = (((int)sizeof(unsigned short)) * 8);
6798# 259
6799return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned);
6800# 260
6801}
6802# 262
6803template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< short4> ()
6804# 263
6805{
6806# 264
6807int e = (((int)sizeof(short)) * 8);
6808# 266
6809return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned);
6810# 267
6811}
6812# 269
6813template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< ushort4> ()
6814# 270
6815{
6816# 271
6817int e = (((int)sizeof(unsigned short)) * 8);
6818# 273
6819return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned);
6820# 274
6821}
6822# 276
6823template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int> ()
6824# 277
6825{
6826# 278
6827int e = (((int)sizeof(int)) * 8);
6828# 280
6829return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6830# 281
6831}
6832# 283
6833template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< unsigned> ()
6834# 284
6835{
6836# 285
6837int e = (((int)sizeof(unsigned)) * 8);
6838# 287
6839return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6840# 288
6841}
6842# 290
6843template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int1> ()
6844# 291
6845{
6846# 292
6847int e = (((int)sizeof(int)) * 8);
6848# 294
6849return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindSigned);
6850# 295
6851}
6852# 297
6853template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint1> ()
6854# 298
6855{
6856# 299
6857int e = (((int)sizeof(unsigned)) * 8);
6858# 301
6859return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindUnsigned);
6860# 302
6861}
6862# 304
6863template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int2> ()
6864# 305
6865{
6866# 306
6867int e = (((int)sizeof(int)) * 8);
6868# 308
6869return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindSigned);
6870# 309
6871}
6872# 311
6873template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint2> ()
6874# 312
6875{
6876# 313
6877int e = (((int)sizeof(unsigned)) * 8);
6878# 315
6879return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindUnsigned);
6880# 316
6881}
6882# 318
6883template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< int4> ()
6884# 319
6885{
6886# 320
6887int e = (((int)sizeof(int)) * 8);
6888# 322
6889return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindSigned);
6890# 323
6891}
6892# 325
6893template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< uint4> ()
6894# 326
6895{
6896# 327
6897int e = (((int)sizeof(unsigned)) * 8);
6898# 329
6899return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindUnsigned);
6900# 330
6901}
6902# 392 "/usr/local/cuda/bin/../targets/x86_64-linux/include/channel_descriptor.h"
6903template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float> ()
6904# 393
6905{
6906# 394
6907int e = (((int)sizeof(float)) * 8);
6908# 396
6909return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat);
6910# 397
6911}
6912# 399
6913template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float1> ()
6914# 400
6915{
6916# 401
6917int e = (((int)sizeof(float)) * 8);
6918# 403
6919return cudaCreateChannelDesc(e, 0, 0, 0, cudaChannelFormatKindFloat);
6920# 404
6921}
6922# 406
6923template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float2> ()
6924# 407
6925{
6926# 408
6927int e = (((int)sizeof(float)) * 8);
6928# 410
6929return cudaCreateChannelDesc(e, e, 0, 0, cudaChannelFormatKindFloat);
6930# 411
6931}
6932# 413
6933template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< float4> ()
6934# 414
6935{
6936# 415
6937int e = (((int)sizeof(float)) * 8);
6938# 417
6939return cudaCreateChannelDesc(e, e, e, e, cudaChannelFormatKindFloat);
6940# 418
6941}
6942# 420
6943static inline cudaChannelFormatDesc cudaCreateChannelDescNV12()
6944# 421
6945{
6946# 422
6947int e = (((int)sizeof(char)) * 8);
6948# 424
6949return cudaCreateChannelDesc(e, e, e, 0, cudaChannelFormatKindNV12);
6950# 425
6951}
6952# 427
6953template< cudaChannelFormatKind > inline cudaChannelFormatDesc cudaCreateChannelDesc()
6954# 428
6955{
6956# 429
6957return cudaCreateChannelDesc(0, 0, 0, 0, cudaChannelFormatKindNone);
6958# 430
6959}
6960# 433
6961template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized8X1> ()
6962# 434
6963{
6964# 435
6965return cudaCreateChannelDesc(8, 0, 0, 0, cudaChannelFormatKindSignedNormalized8X1);
6966# 436
6967}
6968# 438
6969template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized8X2> ()
6970# 439
6971{
6972# 440
6973return cudaCreateChannelDesc(8, 8, 0, 0, cudaChannelFormatKindSignedNormalized8X2);
6974# 441
6975}
6976# 443
6977template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized8X4> ()
6978# 444
6979{
6980# 445
6981return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindSignedNormalized8X4);
6982# 446
6983}
6984# 449
6985template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized8X1> ()
6986# 450
6987{
6988# 451
6989return cudaCreateChannelDesc(8, 0, 0, 0, cudaChannelFormatKindUnsignedNormalized8X1);
6990# 452
6991}
6992# 454
6993template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized8X2> ()
6994# 455
6995{
6996# 456
6997return cudaCreateChannelDesc(8, 8, 0, 0, cudaChannelFormatKindUnsignedNormalized8X2);
6998# 457
6999}
7000# 459
7001template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized8X4> ()
7002# 460
7003{
7004# 461
7005return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedNormalized8X4);
7006# 462
7007}
7008# 465
7009template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized16X1> ()
7010# 466
7011{
7012# 467
7013return cudaCreateChannelDesc(16, 0, 0, 0, cudaChannelFormatKindSignedNormalized16X1);
7014# 468
7015}
7016# 470
7017template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized16X2> ()
7018# 471
7019{
7020# 472
7021return cudaCreateChannelDesc(16, 16, 0, 0, cudaChannelFormatKindSignedNormalized16X2);
7022# 473
7023}
7024# 475
7025template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedNormalized16X4> ()
7026# 476
7027{
7028# 477
7029return cudaCreateChannelDesc(16, 16, 16, 16, cudaChannelFormatKindSignedNormalized16X4);
7030# 478
7031}
7032# 481
7033template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized16X1> ()
7034# 482
7035{
7036# 483
7037return cudaCreateChannelDesc(16, 0, 0, 0, cudaChannelFormatKindUnsignedNormalized16X1);
7038# 484
7039}
7040# 486
7041template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized16X2> ()
7042# 487
7043{
7044# 488
7045return cudaCreateChannelDesc(16, 16, 0, 0, cudaChannelFormatKindUnsignedNormalized16X2);
7046# 489
7047}
7048# 491
7049template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized16X4> ()
7050# 492
7051{
7052# 493
7053return cudaCreateChannelDesc(16, 16, 16, 16, cudaChannelFormatKindUnsignedNormalized16X4);
7054# 494
7055}
7056# 497
7057template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindNV12> ()
7058# 498
7059{
7060# 499
7061return cudaCreateChannelDesc(8, 8, 8, 0, cudaChannelFormatKindNV12);
7062# 500
7063}
7064# 503
7065template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedNormalized1010102> ()
7066# 504
7067{
7068# 505
7069return cudaCreateChannelDesc(10, 10, 10, 2, cudaChannelFormatKindUnsignedNormalized1010102);
7070# 506
7071}
7072# 509
7073template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed1> ()
7074# 510
7075{
7076# 511
7077return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed1);
7078# 512
7079}
7080# 515
7081template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed1SRGB> ()
7082# 516
7083{
7084# 517
7085return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed1SRGB);
7086# 518
7087}
7088# 521
7089template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed2> ()
7090# 522
7091{
7092# 523
7093return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed2);
7094# 524
7095}
7096# 527
7097template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed2SRGB> ()
7098# 528
7099{
7100# 529
7101return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed2SRGB);
7102# 530
7103}
7104# 533
7105template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed3> ()
7106# 534
7107{
7108# 535
7109return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed3);
7110# 536
7111}
7112# 539
7113template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed3SRGB> ()
7114# 540
7115{
7116# 541
7117return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed3SRGB);
7118# 542
7119}
7120# 545
7121template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed4> ()
7122# 546
7123{
7124# 547
7125return cudaCreateChannelDesc(8, 0, 0, 0, cudaChannelFormatKindUnsignedBlockCompressed4);
7126# 548
7127}
7128# 551
7129template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedBlockCompressed4> ()
7130# 552
7131{
7132# 553
7133return cudaCreateChannelDesc(8, 0, 0, 0, cudaChannelFormatKindSignedBlockCompressed4);
7134# 554
7135}
7136# 557
7137template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed5> ()
7138# 558
7139{
7140# 559
7141return cudaCreateChannelDesc(8, 8, 0, 0, cudaChannelFormatKindUnsignedBlockCompressed5);
7142# 560
7143}
7144# 563
7145template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedBlockCompressed5> ()
7146# 564
7147{
7148# 565
7149return cudaCreateChannelDesc(8, 8, 0, 0, cudaChannelFormatKindSignedBlockCompressed5);
7150# 566
7151}
7152# 569
7153template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed6H> ()
7154# 570
7155{
7156# 571
7157return cudaCreateChannelDesc(16, 16, 16, 0, cudaChannelFormatKindUnsignedBlockCompressed6H);
7158# 572
7159}
7160# 575
7161template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindSignedBlockCompressed6H> ()
7162# 576
7163{
7164# 577
7165return cudaCreateChannelDesc(16, 16, 16, 0, cudaChannelFormatKindSignedBlockCompressed6H);
7166# 578
7167}
7168# 581
7169template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed7> ()
7170# 582
7171{
7172# 583
7173return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed7);
7174# 584
7175}
7176# 587
7177template<> inline cudaChannelFormatDesc cudaCreateChannelDesc< cudaChannelFormatKindUnsignedBlockCompressed7SRGB> ()
7178# 588
7179{
7180# 589
7181return cudaCreateChannelDesc(8, 8, 8, 8, cudaChannelFormatKindUnsignedBlockCompressed7SRGB);
7182# 590
7183}
7184# 79 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_functions.h"
7185static inline cudaPitchedPtr make_cudaPitchedPtr(void *d, size_t p, size_t xsz, size_t ysz)
7186# 80
7187{
7188# 81
7189cudaPitchedPtr s;
7190# 83
7191(s.ptr) = d;
7192# 84
7193(s.pitch) = p;
7194# 85
7195(s.xsize) = xsz;
7196# 86
7197(s.ysize) = ysz;
7198# 88
7199return s;
7200# 89
7201}
7202# 106 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_functions.h"
7203static inline cudaPos make_cudaPos(size_t x, size_t y, size_t z)
7204# 107
7205{
7206# 108
7207cudaPos p;
7208# 110
7209(p.x) = x;
7210# 111
7211(p.y) = y;
7212# 112
7213(p.z) = z;
7214# 114
7215return p;
7216# 115
7217}
7218# 132 "/usr/local/cuda/bin/../targets/x86_64-linux/include/driver_functions.h"
7219static inline cudaExtent make_cudaExtent(size_t w, size_t h, size_t d)
7220# 133
7221{
7222# 134
7223cudaExtent e;
7224# 136
7225(e.width) = w;
7226# 137
7227(e.height) = h;
7228# 138
7229(e.depth) = d;
7230# 140
7231return e;
7232# 141
7233}
7234# 77 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_functions.h"
7235static inline char1 make_char1(signed char x);
7236# 79
7237static inline uchar1 make_uchar1(unsigned char x);
7238# 81
7239static inline char2 make_char2(signed char x, signed char y);
7240# 83
7241static inline uchar2 make_uchar2(unsigned char x, unsigned char y);
7242# 85
7243static inline char3 make_char3(signed char x, signed char y, signed char z);
7244# 87
7245static inline uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z);
7246# 89
7247static inline char4 make_char4(signed char x, signed char y, signed char z, signed char w);
7248# 91
7249static inline uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w);
7250# 93
7251static inline short1 make_short1(short x);
7252# 95
7253static inline ushort1 make_ushort1(unsigned short x);
7254# 97
7255static inline short2 make_short2(short x, short y);
7256# 99
7257static inline ushort2 make_ushort2(unsigned short x, unsigned short y);
7258# 101
7259static inline short3 make_short3(short x, short y, short z);
7260# 103
7261static inline ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z);
7262# 105
7263static inline short4 make_short4(short x, short y, short z, short w);
7264# 107
7265static inline ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w);
7266# 109
7267static inline int1 make_int1(int x);
7268# 111
7269static inline uint1 make_uint1(unsigned x);
7270# 113
7271static inline int2 make_int2(int x, int y);
7272# 115
7273static inline uint2 make_uint2(unsigned x, unsigned y);
7274# 117
7275static inline int3 make_int3(int x, int y, int z);
7276# 119
7277static inline uint3 make_uint3(unsigned x, unsigned y, unsigned z);
7278# 121
7279static inline int4 make_int4(int x, int y, int z, int w);
7280# 123
7281static inline uint4 make_uint4(unsigned x, unsigned y, unsigned z, unsigned w);
7282# 125
7283static inline long1 make_long1(long x);
7284# 127
7285static inline ulong1 make_ulong1(unsigned long x);
7286# 129
7287static inline long2 make_long2(long x, long y);
7288# 131
7289static inline ulong2 make_ulong2(unsigned long x, unsigned long y);
7290# 133
7291static inline long3 make_long3(long x, long y, long z);
7292# 135
7293static inline ulong3 make_ulong3(unsigned long x, unsigned long y, unsigned long z);
7294# 137
7295static inline long4 make_long4(long x, long y, long z, long w);
7296# 139
7297static inline ulong4 make_ulong4(unsigned long x, unsigned long y, unsigned long z, unsigned long w);
7298# 141
7299static inline float1 make_float1(float x);
7300# 143
7301static inline float2 make_float2(float x, float y);
7302# 145
7303static inline float3 make_float3(float x, float y, float z);
7304# 147
7305static inline float4 make_float4(float x, float y, float z, float w);
7306# 149
7307static inline longlong1 make_longlong1(long long x);
7308# 151
7309static inline ulonglong1 make_ulonglong1(unsigned long long x);
7310# 153
7311static inline longlong2 make_longlong2(long long x, long long y);
7312# 155
7313static inline ulonglong2 make_ulonglong2(unsigned long long x, unsigned long long y);
7314# 157
7315static inline longlong3 make_longlong3(long long x, long long y, long long z);
7316# 159
7317static inline ulonglong3 make_ulonglong3(unsigned long long x, unsigned long long y, unsigned long long z);
7318# 161
7319static inline longlong4 make_longlong4(long long x, long long y, long long z, long long w);
7320# 163
7321static inline ulonglong4 make_ulonglong4(unsigned long long x, unsigned long long y, unsigned long long z, unsigned long long w);
7322# 165
7323static inline double1 make_double1(double x);
7324# 167
7325static inline double2 make_double2(double x, double y);
7326# 169
7327static inline double3 make_double3(double x, double y, double z);
7328# 171
7329static inline double4 make_double4(double x, double y, double z, double w);
7330# 73 "/usr/local/cuda/bin/../targets/x86_64-linux/include/vector_functions.hpp"
7331static inline char1 make_char1(signed char x)
7332# 74
7333{
7334# 75
7335char1 t; (t.x) = x; return t;
7336# 76
7337}
7338# 78
7339static inline uchar1 make_uchar1(unsigned char x)
7340# 79
7341{
7342# 80
7343uchar1 t; (t.x) = x; return t;
7344# 81
7345}
7346# 83
7347static inline char2 make_char2(signed char x, signed char y)
7348# 84
7349{
7350# 85
7351char2 t; (t.x) = x; (t.y) = y; return t;
7352# 86
7353}
7354# 88
7355static inline uchar2 make_uchar2(unsigned char x, unsigned char y)
7356# 89
7357{
7358# 90
7359uchar2 t; (t.x) = x; (t.y) = y; return t;
7360# 91
7361}
7362# 93
7363static inline char3 make_char3(signed char x, signed char y, signed char z)
7364# 94
7365{
7366# 95
7367char3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7368# 96
7369}
7370# 98
7371static inline uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z)
7372# 99
7373{
7374# 100
7375uchar3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7376# 101
7377}
7378# 103
7379static inline char4 make_char4(signed char x, signed char y, signed char z, signed char w)
7380# 104
7381{
7382# 105
7383char4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7384# 106
7385}
7386# 108
7387static inline uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w)
7388# 109
7389{
7390# 110
7391uchar4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7392# 111
7393}
7394# 113
7395static inline short1 make_short1(short x)
7396# 114
7397{
7398# 115
7399short1 t; (t.x) = x; return t;
7400# 116
7401}
7402# 118
7403static inline ushort1 make_ushort1(unsigned short x)
7404# 119
7405{
7406# 120
7407ushort1 t; (t.x) = x; return t;
7408# 121
7409}
7410# 123
7411static inline short2 make_short2(short x, short y)
7412# 124
7413{
7414# 125
7415short2 t; (t.x) = x; (t.y) = y; return t;
7416# 126
7417}
7418# 128
7419static inline ushort2 make_ushort2(unsigned short x, unsigned short y)
7420# 129
7421{
7422# 130
7423ushort2 t; (t.x) = x; (t.y) = y; return t;
7424# 131
7425}
7426# 133
7427static inline short3 make_short3(short x, short y, short z)
7428# 134
7429{
7430# 135
7431short3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7432# 136
7433}
7434# 138
7435static inline ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z)
7436# 139
7437{
7438# 140
7439ushort3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7440# 141
7441}
7442# 143
7443static inline short4 make_short4(short x, short y, short z, short w)
7444# 144
7445{
7446# 145
7447short4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7448# 146
7449}
7450# 148
7451static inline ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w)
7452# 149
7453{
7454# 150
7455ushort4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7456# 151
7457}
7458# 153
7459static inline int1 make_int1(int x)
7460# 154
7461{
7462# 155
7463int1 t; (t.x) = x; return t;
7464# 156
7465}
7466# 158
7467static inline uint1 make_uint1(unsigned x)
7468# 159
7469{
7470# 160
7471uint1 t; (t.x) = x; return t;
7472# 161
7473}
7474# 163
7475static inline int2 make_int2(int x, int y)
7476# 164
7477{
7478# 165
7479int2 t; (t.x) = x; (t.y) = y; return t;
7480# 166
7481}
7482# 168
7483static inline uint2 make_uint2(unsigned x, unsigned y)
7484# 169
7485{
7486# 170
7487uint2 t; (t.x) = x; (t.y) = y; return t;
7488# 171
7489}
7490# 173
7491static inline int3 make_int3(int x, int y, int z)
7492# 174
7493{
7494# 175
7495int3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7496# 176
7497}
7498# 178
7499static inline uint3 make_uint3(unsigned x, unsigned y, unsigned z)
7500# 179
7501{
7502# 180
7503uint3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7504# 181
7505}
7506# 183
7507static inline int4 make_int4(int x, int y, int z, int w)
7508# 184
7509{
7510# 185
7511int4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7512# 186
7513}
7514# 188
7515static inline uint4 make_uint4(unsigned x, unsigned y, unsigned z, unsigned w)
7516# 189
7517{
7518# 190
7519uint4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7520# 191
7521}
7522# 193
7523static inline long1 make_long1(long x)
7524# 194
7525{
7526# 195
7527long1 t; (t.x) = x; return t;
7528# 196
7529}
7530# 198
7531static inline ulong1 make_ulong1(unsigned long x)
7532# 199
7533{
7534# 200
7535ulong1 t; (t.x) = x; return t;
7536# 201
7537}
7538# 203
7539static inline long2 make_long2(long x, long y)
7540# 204
7541{
7542# 205
7543long2 t; (t.x) = x; (t.y) = y; return t;
7544# 206
7545}
7546# 208
7547static inline ulong2 make_ulong2(unsigned long x, unsigned long y)
7548# 209
7549{
7550# 210
7551ulong2 t; (t.x) = x; (t.y) = y; return t;
7552# 211
7553}
7554# 213
7555static inline long3 make_long3(long x, long y, long z)
7556# 214
7557{
7558# 215
7559long3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7560# 216
7561}
7562# 218
7563static inline ulong3 make_ulong3(unsigned long x, unsigned long y, unsigned long z)
7564# 219
7565{
7566# 220
7567ulong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7568# 221
7569}
7570# 223
7571static inline long4 make_long4(long x, long y, long z, long w)
7572# 224
7573{
7574# 225
7575long4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7576# 226
7577}
7578# 228
7579static inline ulong4 make_ulong4(unsigned long x, unsigned long y, unsigned long z, unsigned long w)
7580# 229
7581{
7582# 230
7583ulong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7584# 231
7585}
7586# 233
7587static inline float1 make_float1(float x)
7588# 234
7589{
7590# 235
7591float1 t; (t.x) = x; return t;
7592# 236
7593}
7594# 238
7595static inline float2 make_float2(float x, float y)
7596# 239
7597{
7598# 240
7599float2 t; (t.x) = x; (t.y) = y; return t;
7600# 241
7601}
7602# 243
7603static inline float3 make_float3(float x, float y, float z)
7604# 244
7605{
7606# 245
7607float3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7608# 246
7609}
7610# 248
7611static inline float4 make_float4(float x, float y, float z, float w)
7612# 249
7613{
7614# 250
7615float4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7616# 251
7617}
7618# 253
7619static inline longlong1 make_longlong1(long long x)
7620# 254
7621{
7622# 255
7623longlong1 t; (t.x) = x; return t;
7624# 256
7625}
7626# 258
7627static inline ulonglong1 make_ulonglong1(unsigned long long x)
7628# 259
7629{
7630# 260
7631ulonglong1 t; (t.x) = x; return t;
7632# 261
7633}
7634# 263
7635static inline longlong2 make_longlong2(long long x, long long y)
7636# 264
7637{
7638# 265
7639longlong2 t; (t.x) = x; (t.y) = y; return t;
7640# 266
7641}
7642# 268
7643static inline ulonglong2 make_ulonglong2(unsigned long long x, unsigned long long y)
7644# 269
7645{
7646# 270
7647ulonglong2 t; (t.x) = x; (t.y) = y; return t;
7648# 271
7649}
7650# 273
7651static inline longlong3 make_longlong3(long long x, long long y, long long z)
7652# 274
7653{
7654# 275
7655longlong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7656# 276
7657}
7658# 278
7659static inline ulonglong3 make_ulonglong3(unsigned long long x, unsigned long long y, unsigned long long z)
7660# 279
7661{
7662# 280
7663ulonglong3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7664# 281
7665}
7666# 283
7667static inline longlong4 make_longlong4(long long x, long long y, long long z, long long w)
7668# 284
7669{
7670# 285
7671longlong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7672# 286
7673}
7674# 288
7675static inline ulonglong4 make_ulonglong4(unsigned long long x, unsigned long long y, unsigned long long z, unsigned long long w)
7676# 289
7677{
7678# 290
7679ulonglong4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7680# 291
7681}
7682# 293
7683static inline double1 make_double1(double x)
7684# 294
7685{
7686# 295
7687double1 t; (t.x) = x; return t;
7688# 296
7689}
7690# 298
7691static inline double2 make_double2(double x, double y)
7692# 299
7693{
7694# 300
7695double2 t; (t.x) = x; (t.y) = y; return t;
7696# 301
7697}
7698# 303
7699static inline double3 make_double3(double x, double y, double z)
7700# 304
7701{
7702# 305
7703double3 t; (t.x) = x; (t.y) = y; (t.z) = z; return t;
7704# 306
7705}
7706# 308
7707static inline double4 make_double4(double x, double y, double z, double w)
7708# 309
7709{
7710# 310
7711double4 t; (t.x) = x; (t.y) = y; (t.z) = z; (t.w) = w; return t;
7712# 311
7713}
7714# 28 "/usr/include/string.h" 3
7715extern "C" {
7716# 43 "/usr/include/string.h" 3
7717extern void *memcpy(void *__restrict__ __dest, const void *__restrict__ __src, size_t __n) noexcept(true)
7718# 44
7719 __attribute((__nonnull__(1, 2)));
7720# 47
7721extern void *memmove(void * __dest, const void * __src, size_t __n) noexcept(true)
7722# 48
7723 __attribute((__nonnull__(1, 2)));
7724# 54
7725extern void *memccpy(void *__restrict__ __dest, const void *__restrict__ __src, int __c, size_t __n) noexcept(true)
7726# 56
7727 __attribute((__nonnull__(1, 2))) __attribute((__access__(__write_only__ , 1 , 4 )));
7728# 61
7729extern void *memset(void * __s, int __c, size_t __n) noexcept(true) __attribute((__nonnull__(1)));
7730# 64
7731extern int memcmp(const void * __s1, const void * __s2, size_t __n) noexcept(true)
7732# 65
7733 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7734# 80 "/usr/include/string.h" 3
7735extern int __memcmpeq(const void * __s1, const void * __s2, size_t __n) noexcept(true)
7736# 81
7737 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7738# 85
7739extern "C++" {
7740# 87
7741extern void *memchr(void * __s, int __c, size_t __n) noexcept(true) __asm__("memchr")
7742# 88
7743 __attribute((__pure__)) __attribute((__nonnull__(1)));
7744# 89
7745extern const void *memchr(const void * __s, int __c, size_t __n) noexcept(true) __asm__("memchr")
7746# 90
7747 __attribute((__pure__)) __attribute((__nonnull__(1)));
7748# 105 "/usr/include/string.h" 3
7749}
7750# 115 "/usr/include/string.h" 3
7751extern "C++" void *rawmemchr(void * __s, int __c) noexcept(true) __asm__("rawmemchr")
7752# 116
7753 __attribute((__pure__)) __attribute((__nonnull__(1)));
7754# 117
7755extern "C++" const void *rawmemchr(const void * __s, int __c) noexcept(true) __asm__("rawmemchr")
7756# 118
7757 __attribute((__pure__)) __attribute((__nonnull__(1)));
7758# 126
7759extern "C++" void *memrchr(void * __s, int __c, size_t __n) noexcept(true) __asm__("memrchr")
7760# 127
7761 __attribute((__pure__)) __attribute((__nonnull__(1)))
7762# 128
7763 __attribute((__access__(__read_only__ , 1 , 3 )));
7764# 129
7765extern "C++" const void *memrchr(const void * __s, int __c, size_t __n) noexcept(true) __asm__("memrchr")
7766# 130
7767 __attribute((__pure__)) __attribute((__nonnull__(1)))
7768# 131
7769 __attribute((__access__(__read_only__ , 1 , 3 )));
7770# 141 "/usr/include/string.h" 3
7771extern char *strcpy(char *__restrict__ __dest, const char *__restrict__ __src) noexcept(true)
7772# 142
7773 __attribute((__nonnull__(1, 2)));
7774# 144
7775extern char *strncpy(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
7776# 146
7777 __attribute((__nonnull__(1, 2)));
7778# 149
7779extern char *strcat(char *__restrict__ __dest, const char *__restrict__ __src) noexcept(true)
7780# 150
7781 __attribute((__nonnull__(1, 2)));
7782# 152
7783extern char *strncat(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
7784# 153
7785 __attribute((__nonnull__(1, 2)));
7786# 156
7787extern int strcmp(const char * __s1, const char * __s2) noexcept(true)
7788# 157
7789 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7790# 159
7791extern int strncmp(const char * __s1, const char * __s2, size_t __n) noexcept(true)
7792# 160
7793 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7794# 163
7795extern int strcoll(const char * __s1, const char * __s2) noexcept(true)
7796# 164
7797 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7798# 166
7799extern size_t strxfrm(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
7800# 168
7801 __attribute((__nonnull__(2))) __attribute((__access__(__write_only__ , 1 , 3 )));
7802# 175
7803extern int strcoll_l(const char * __s1, const char * __s2, locale_t __l) noexcept(true)
7804# 176
7805 __attribute((__pure__)) __attribute((__nonnull__(1, 2, 3)));
7806# 179
7807extern size_t strxfrm_l(char * __dest, const char * __src, size_t __n, locale_t __l) noexcept(true)
7808# 180
7809 __attribute((__nonnull__(2, 4)))
7810# 181
7811 __attribute((__access__(__write_only__ , 1 , 3 )));
7812# 187
7813extern char *strdup(const char * __s) noexcept(true)
7814# 188
7815 __attribute((__malloc__)) __attribute((__nonnull__(1)));
7816# 195
7817extern char *strndup(const char * __string, size_t __n) noexcept(true)
7818# 196
7819 __attribute((__malloc__)) __attribute((__nonnull__(1)));
7820# 224 "/usr/include/string.h" 3
7821extern "C++" {
7822# 226
7823extern char *strchr(char * __s, int __c) noexcept(true) __asm__("strchr")
7824# 227
7825 __attribute((__pure__)) __attribute((__nonnull__(1)));
7826# 228
7827extern const char *strchr(const char * __s, int __c) noexcept(true) __asm__("strchr")
7828# 229
7829 __attribute((__pure__)) __attribute((__nonnull__(1)));
7830# 244 "/usr/include/string.h" 3
7831}
7832# 251
7833extern "C++" {
7834# 253
7835extern char *strrchr(char * __s, int __c) noexcept(true) __asm__("strrchr")
7836# 254
7837 __attribute((__pure__)) __attribute((__nonnull__(1)));
7838# 255
7839extern const char *strrchr(const char * __s, int __c) noexcept(true) __asm__("strrchr")
7840# 256
7841 __attribute((__pure__)) __attribute((__nonnull__(1)));
7842# 271 "/usr/include/string.h" 3
7843}
7844# 281 "/usr/include/string.h" 3
7845extern "C++" char *strchrnul(char * __s, int __c) noexcept(true) __asm__("strchrnul")
7846# 282
7847 __attribute((__pure__)) __attribute((__nonnull__(1)));
7848# 283
7849extern "C++" const char *strchrnul(const char * __s, int __c) noexcept(true) __asm__("strchrnul")
7850# 284
7851 __attribute((__pure__)) __attribute((__nonnull__(1)));
7852# 293 "/usr/include/string.h" 3
7853extern size_t strcspn(const char * __s, const char * __reject) noexcept(true)
7854# 294
7855 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7856# 297
7857extern size_t strspn(const char * __s, const char * __accept) noexcept(true)
7858# 298
7859 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7860# 301
7861extern "C++" {
7862# 303
7863extern char *strpbrk(char * __s, const char * __accept) noexcept(true) __asm__("strpbrk")
7864# 304
7865 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7866# 305
7867extern const char *strpbrk(const char * __s, const char * __accept) noexcept(true) __asm__("strpbrk")
7868# 306
7869 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7870# 321 "/usr/include/string.h" 3
7871}
7872# 328
7873extern "C++" {
7874# 330
7875extern char *strstr(char * __haystack, const char * __needle) noexcept(true) __asm__("strstr")
7876# 331
7877 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7878# 332
7879extern const char *strstr(const char * __haystack, const char * __needle) noexcept(true) __asm__("strstr")
7880# 333
7881 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7882# 348 "/usr/include/string.h" 3
7883}
7884# 356
7885extern char *strtok(char *__restrict__ __s, const char *__restrict__ __delim) noexcept(true)
7886# 357
7887 __attribute((__nonnull__(2)));
7888# 361
7889extern char *__strtok_r(char *__restrict__ __s, const char *__restrict__ __delim, char **__restrict__ __save_ptr) noexcept(true)
7890# 364
7891 __attribute((__nonnull__(2, 3)));
7892# 366
7893extern char *strtok_r(char *__restrict__ __s, const char *__restrict__ __delim, char **__restrict__ __save_ptr) noexcept(true)
7894# 368
7895 __attribute((__nonnull__(2, 3)));
7896# 374
7897extern "C++" char *strcasestr(char * __haystack, const char * __needle) noexcept(true) __asm__("strcasestr")
7898# 375
7899 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7900# 376
7901extern "C++" const char *strcasestr(const char * __haystack, const char * __needle) noexcept(true) __asm__("strcasestr")
7902# 378
7903 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7904# 389 "/usr/include/string.h" 3
7905extern void *memmem(const void * __haystack, size_t __haystacklen, const void * __needle, size_t __needlelen) noexcept(true)
7906# 391
7907 __attribute((__pure__)) __attribute((__nonnull__(1, 3)))
7908# 392
7909 __attribute((__access__(__read_only__ , 1 , 2 )))
7910# 393
7911 __attribute((__access__(__read_only__ , 3 , 4 )));
7912# 397
7913extern void *__mempcpy(void *__restrict__ __dest, const void *__restrict__ __src, size_t __n) noexcept(true)
7914# 399
7915 __attribute((__nonnull__(1, 2)));
7916# 400
7917extern void *mempcpy(void *__restrict__ __dest, const void *__restrict__ __src, size_t __n) noexcept(true)
7918# 402
7919 __attribute((__nonnull__(1, 2)));
7920# 407
7921extern size_t strlen(const char * __s) noexcept(true)
7922# 408
7923 __attribute((__pure__)) __attribute((__nonnull__(1)));
7924# 413
7925extern size_t strnlen(const char * __string, size_t __maxlen) noexcept(true)
7926# 414
7927 __attribute((__pure__)) __attribute((__nonnull__(1)));
7928# 419
7929extern char *strerror(int __errnum) noexcept(true);
7930# 444 "/usr/include/string.h" 3
7931extern char *strerror_r(int __errnum, char * __buf, size_t __buflen) noexcept(true)
7932# 445
7933 __attribute((__nonnull__(2))) __attribute((__access__(__write_only__ , 2 , 3 )));
7934# 450
7935extern const char *strerrordesc_np(int __err) noexcept(true);
7936# 452
7937extern const char *strerrorname_np(int __err) noexcept(true);
7938# 458
7939extern char *strerror_l(int __errnum, locale_t __l) noexcept(true);
7940# 30 "/usr/include/strings.h" 3
7941extern "C" {
7942# 34
7943extern int bcmp(const void * __s1, const void * __s2, size_t __n) noexcept(true)
7944# 35
7945 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7946# 38
7947extern void bcopy(const void * __src, void * __dest, size_t __n) noexcept(true)
7948# 39
7949 __attribute((__nonnull__(1, 2)));
7950# 42
7951extern void bzero(void * __s, size_t __n) noexcept(true) __attribute((__nonnull__(1)));
7952# 46
7953extern "C++" {
7954# 48
7955extern char *index(char * __s, int __c) noexcept(true) __asm__("index")
7956# 49
7957 __attribute((__pure__)) __attribute((__nonnull__(1)));
7958# 50
7959extern const char *index(const char * __s, int __c) noexcept(true) __asm__("index")
7960# 51
7961 __attribute((__pure__)) __attribute((__nonnull__(1)));
7962# 66 "/usr/include/strings.h" 3
7963}
7964# 74
7965extern "C++" {
7966# 76
7967extern char *rindex(char * __s, int __c) noexcept(true) __asm__("rindex")
7968# 77
7969 __attribute((__pure__)) __attribute((__nonnull__(1)));
7970# 78
7971extern const char *rindex(const char * __s, int __c) noexcept(true) __asm__("rindex")
7972# 79
7973 __attribute((__pure__)) __attribute((__nonnull__(1)));
7974# 94 "/usr/include/strings.h" 3
7975}
7976# 104 "/usr/include/strings.h" 3
7977extern int ffs(int __i) noexcept(true) __attribute((const));
7978# 110
7979extern int ffsl(long __l) noexcept(true) __attribute((const));
7980# 111
7981__extension__ extern int ffsll(long long __ll) noexcept(true)
7982# 112
7983 __attribute((const));
7984# 116
7985extern int strcasecmp(const char * __s1, const char * __s2) noexcept(true)
7986# 117
7987 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7988# 120
7989extern int strncasecmp(const char * __s1, const char * __s2, size_t __n) noexcept(true)
7990# 121
7991 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
7992# 128
7993extern int strcasecmp_l(const char * __s1, const char * __s2, locale_t __loc) noexcept(true)
7994# 129
7995 __attribute((__pure__)) __attribute((__nonnull__(1, 2, 3)));
7996# 133
7997extern int strncasecmp_l(const char * __s1, const char * __s2, size_t __n, locale_t __loc) noexcept(true)
7998# 135
7999 __attribute((__pure__)) __attribute((__nonnull__(1, 2, 4)));
8000# 138
8001}
8002# 466 "/usr/include/string.h" 3
8003extern void explicit_bzero(void * __s, size_t __n) noexcept(true) __attribute((__nonnull__(1)))
8004# 467
8005 __attribute((__access__(__write_only__ , 1 , 2 )));
8006# 471
8007extern char *strsep(char **__restrict__ __stringp, const char *__restrict__ __delim) noexcept(true)
8008# 473
8009 __attribute((__nonnull__(1, 2)));
8010# 478
8011extern char *strsignal(int __sig) noexcept(true);
8012# 482
8013extern const char *sigabbrev_np(int __sig) noexcept(true);
8014# 485
8015extern const char *sigdescr_np(int __sig) noexcept(true);
8016# 489
8017extern char *__stpcpy(char *__restrict__ __dest, const char *__restrict__ __src) noexcept(true)
8018# 490
8019 __attribute((__nonnull__(1, 2)));
8020# 491
8021extern char *stpcpy(char *__restrict__ __dest, const char *__restrict__ __src) noexcept(true)
8022# 492
8023 __attribute((__nonnull__(1, 2)));
8024# 496
8025extern char *__stpncpy(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
8026# 498
8027 __attribute((__nonnull__(1, 2)));
8028# 499
8029extern char *stpncpy(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
8030# 501
8031 __attribute((__nonnull__(1, 2)));
8032# 506
8033extern size_t strlcpy(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
8034# 508
8035 __attribute((__nonnull__(1, 2))) __attribute((__access__(__write_only__ , 1 , 3 )));
8036# 512
8037extern size_t strlcat(char *__restrict__ __dest, const char *__restrict__ __src, size_t __n) noexcept(true)
8038# 514
8039 __attribute((__nonnull__(1, 2))) __attribute((__access__(__read_write__ , 1 , 3 )));
8040# 519
8041extern int strverscmp(const char * __s1, const char * __s2) noexcept(true)
8042# 520
8043 __attribute((__pure__)) __attribute((__nonnull__(1, 2)));
8044# 523
8045extern char *strfry(char * __string) noexcept(true) __attribute((__nonnull__(1)));
8046# 526
8047extern void *memfrob(void * __s, size_t __n) noexcept(true) __attribute((__nonnull__(1)))
8048# 527
8049 __attribute((__access__(__read_write__ , 1 , 2 )));
8050# 535
8051extern "C++" char *basename(char * __filename) noexcept(true) __asm__("basename")
8052# 536
8053 __attribute((__nonnull__(1)));
8054# 537
8055extern "C++" const char *basename(const char * __filename) noexcept(true) __asm__("basename")
8056# 538
8057 __attribute((__nonnull__(1)));
8058# 552 "/usr/include/string.h" 3
8059}
8060# 26 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3
8061struct timex {
8062# 58 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3
8063unsigned modes;
8064# 59
8065__syscall_slong_t offset;
8066# 60
8067__syscall_slong_t freq;
8068# 61
8069__syscall_slong_t maxerror;
8070# 62
8071__syscall_slong_t esterror;
8072# 63
8073int status;
8074# 64
8075__syscall_slong_t constant;
8076# 65
8077__syscall_slong_t precision;
8078# 66
8079__syscall_slong_t tolerance;
8080# 67
8081timeval time;
8082# 68
8083__syscall_slong_t tick;
8084# 69
8085__syscall_slong_t ppsfreq;
8086# 70
8087__syscall_slong_t jitter;
8088# 71
8089int shift;
8090# 72
8091__syscall_slong_t stabil;
8092# 73
8093__syscall_slong_t jitcnt;
8094# 74
8095__syscall_slong_t calcnt;
8096# 75
8097__syscall_slong_t errcnt;
8098# 76
8099__syscall_slong_t stbcnt;
8100# 78
8101int tai;
8102# 81
8103int: 32; int: 32; int: 32; int: 32;
8104# 82
8105int: 32; int: 32; int: 32; int: 32;
8106# 83
8107int: 32; int: 32; int: 32;
8108# 85
8109};
8110# 75 "/usr/include/x86_64-linux-gnu/bits/time.h" 3
8111extern "C" {
8112# 78
8113extern int clock_adjtime(__clockid_t __clock_id, timex * __utx) noexcept(true) __attribute((__nonnull__(2)));
8114# 90 "/usr/include/x86_64-linux-gnu/bits/time.h" 3
8115}
8116# 7 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 3
8117struct tm {
8118# 9
8119int tm_sec;
8120# 10
8121int tm_min;
8122# 11
8123int tm_hour;
8124# 12
8125int tm_mday;
8126# 13
8127int tm_mon;
8128# 14
8129int tm_year;
8130# 15
8131int tm_wday;
8132# 16
8133int tm_yday;
8134# 17
8135int tm_isdst;
8136# 20
8137long tm_gmtoff;
8138# 21
8139const char *tm_zone;
8140# 26
8141};
8142# 8 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 3
8143struct itimerspec {
8144# 10
8145timespec it_interval;
8146# 11
8147timespec it_value;
8148# 12
8149};
8150# 49 "/usr/include/time.h" 3
8151struct sigevent;
8152# 68 "/usr/include/time.h" 3
8153extern "C" {
8154# 72
8155extern clock_t clock() noexcept(true);
8156# 76
8157extern time_t time(time_t * __timer) noexcept(true);
8158# 79
8159extern double difftime(time_t __time1, time_t __time0) noexcept(true)
8160# 80
8161 __attribute((const));
8162# 83
8163extern time_t mktime(tm * __tp) noexcept(true);
8164# 100 "/usr/include/time.h" 3
8165extern size_t strftime(char *__restrict__ __s, size_t __maxsize, const char *__restrict__ __format, const tm *__restrict__ __tp) noexcept(true)
8166# 103
8167 __attribute((__nonnull__(1, 3, 4)));
8168# 108
8169extern char *strptime(const char *__restrict__ __s, const char *__restrict__ __fmt, tm * __tp) noexcept(true);
8170# 117
8171extern size_t strftime_l(char *__restrict__ __s, size_t __maxsize, const char *__restrict__ __format, const tm *__restrict__ __tp, locale_t __loc) noexcept(true);
8172# 124
8173extern char *strptime_l(const char *__restrict__ __s, const char *__restrict__ __fmt, tm * __tp, locale_t __loc) noexcept(true);
8174# 133
8175extern tm *gmtime(const time_t * __timer) noexcept(true);
8176# 137
8177extern tm *localtime(const time_t * __timer) noexcept(true);
8178# 155 "/usr/include/time.h" 3
8179extern tm *gmtime_r(const time_t *__restrict__ __timer, tm *__restrict__ __tp) noexcept(true);
8180# 160
8181extern tm *localtime_r(const time_t *__restrict__ __timer, tm *__restrict__ __tp) noexcept(true);
8182# 180 "/usr/include/time.h" 3
8183extern char *asctime(const tm * __tp) noexcept(true);
8184# 184
8185extern char *ctime(const time_t * __timer) noexcept(true);
8186# 198 "/usr/include/time.h" 3
8187extern char *asctime_r(const tm *__restrict__ __tp, char *__restrict__ __buf) noexcept(true);
8188# 203
8189extern char *ctime_r(const time_t *__restrict__ __timer, char *__restrict__ __buf) noexcept(true);
8190# 218 "/usr/include/time.h" 3
8191extern char *__tzname[2];
8192# 219
8193extern int __daylight;
8194# 220
8195extern long __timezone;
8196# 225
8197extern char *tzname[2];
8198# 229
8199extern void tzset() noexcept(true);
8200# 233
8201extern int daylight;
8202# 234
8203extern long timezone;
8204# 247 "/usr/include/time.h" 3
8205extern time_t timegm(tm * __tp) noexcept(true);
8206# 264 "/usr/include/time.h" 3
8207extern time_t timelocal(tm * __tp) noexcept(true);
8208# 272
8209extern int dysize(int __year) noexcept(true) __attribute((const));
8210# 282 "/usr/include/time.h" 3
8211extern int nanosleep(const timespec * __requested_time, timespec * __remaining);
8212# 286
8213extern int clock_getres(clockid_t __clock_id, timespec * __res) noexcept(true);
8214# 289
8215extern int clock_gettime(clockid_t __clock_id, timespec * __tp) noexcept(true)
8216# 290
8217 __attribute((__nonnull__(2)));
8218# 293
8219extern int clock_settime(clockid_t __clock_id, const timespec * __tp) noexcept(true)
8220# 294
8221 __attribute((__nonnull__(2)));
8222# 324 "/usr/include/time.h" 3
8223extern int clock_nanosleep(clockid_t __clock_id, int __flags, const timespec * __req, timespec * __rem);
8224# 339 "/usr/include/time.h" 3
8225extern int clock_getcpuclockid(pid_t __pid, clockid_t * __clock_id) noexcept(true);
8226# 344
8227extern int timer_create(clockid_t __clock_id, sigevent *__restrict__ __evp, timer_t *__restrict__ __timerid) noexcept(true);
8228# 349
8229extern int timer_delete(timer_t __timerid) noexcept(true);
8230# 353
8231extern int timer_settime(timer_t __timerid, int __flags, const itimerspec *__restrict__ __value, itimerspec *__restrict__ __ovalue) noexcept(true);
8232# 358
8233extern int timer_gettime(timer_t __timerid, itimerspec * __value) noexcept(true);
8234# 377 "/usr/include/time.h" 3
8235extern int timer_getoverrun(timer_t __timerid) noexcept(true);
8236# 384
8237extern int timespec_get(timespec * __ts, int __base) noexcept(true)
8238# 385
8239 __attribute((__nonnull__(1)));
8240# 400 "/usr/include/time.h" 3
8241extern int timespec_getres(timespec * __ts, int __base) noexcept(true);
8242# 426 "/usr/include/time.h" 3
8243extern int getdate_err;
8244# 435 "/usr/include/time.h" 3
8245extern tm *getdate(const char * __string);
8246# 449 "/usr/include/time.h" 3
8247extern int getdate_r(const char *__restrict__ __string, tm *__restrict__ __resbufp);
8248# 453
8249}
8250# 88 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/common_functions.h"
8251extern "C" {
8252# 91
8253extern clock_t clock() noexcept(true);
8254# 96 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/common_functions.h"
8255extern void *memset(void *, int, size_t) noexcept(true);
8256# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/common_functions.h"
8257extern void *memcpy(void *, const void *, size_t) noexcept(true);
8258# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/common_functions.h"
8259}
8260# 126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8261extern "C" {
8262# 233 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8263extern int abs(int a) noexcept(true);
8264# 244 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8265extern long labs(long a) noexcept(true);
8266# 255 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8267extern long long llabs(long long a) noexcept(true);
8268# 283 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8269extern double fabs(double x) noexcept(true);
8270# 306 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8271extern float fabsf(float x) noexcept(true);
8272# 317 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8273extern inline int min(const int a, const int b);
8274# 324
8275extern inline unsigned umin(const unsigned a, const unsigned b);
8276# 331
8277extern inline long long llmin(const long long a, const long long b);
8278# 338
8279extern inline unsigned long long ullmin(const unsigned long long a, const unsigned long long b);
8280# 359 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8281extern float fminf(float x, float y) noexcept(true);
8282# 379 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8283extern double fmin(double x, double y) noexcept(true);
8284# 392 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8285extern inline int max(const int a, const int b);
8286# 400
8287extern inline unsigned umax(const unsigned a, const unsigned b);
8288# 407
8289extern inline long long llmax(const long long a, const long long b);
8290# 414
8291extern inline unsigned long long ullmax(const unsigned long long a, const unsigned long long b);
8292# 435 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8293extern float fmaxf(float x, float y) noexcept(true);
8294# 455 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8295extern double fmax(double, double) noexcept(true);
8296# 477 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8297extern double sin(double x) noexcept(true);
8298# 495 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8299extern double cos(double x) noexcept(true);
8300# 511 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8301extern void sincos(double x, double * sptr, double * cptr) noexcept(true);
8302# 524 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8303extern void sincosf(float x, float * sptr, float * cptr) noexcept(true);
8304# 547 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8305extern double tan(double x) noexcept(true);
8306# 571 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8307extern double sqrt(double x) noexcept(true);
8308# 597 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8309extern double rsqrt(double x);
8310# 621 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8311extern float rsqrtf(float x);
8312# 648 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8313extern double log2(double x) noexcept(true);
8314# 677 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8315extern double exp2(double x) noexcept(true);
8316# 706 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8317extern float exp2f(float x) noexcept(true);
8318# 737 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8319extern double exp10(double x) noexcept(true);
8320# 764 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8321extern float exp10f(float x) noexcept(true);
8322# 798 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8323extern double expm1(double x) noexcept(true);
8324# 831 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8325extern float expm1f(float x) noexcept(true);
8326# 858 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8327extern float log2f(float x) noexcept(true);
8328# 883 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8329extern double log10(double x) noexcept(true);
8330# 909 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8331extern double log(double x) noexcept(true);
8332# 936 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8333extern double log1p(double x) noexcept(true);
8334# 966 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8335extern float log1pf(float x) noexcept(true);
8336# 992 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8337extern double floor(double x) noexcept(true);
8338# 1021 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8339extern double exp(double x) noexcept(true);
8340# 1040 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8341extern double cosh(double x) noexcept(true);
8342# 1060 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8343extern double sinh(double x) noexcept(true);
8344# 1080 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8345extern double tanh(double x) noexcept(true);
8346# 1104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8347extern double acosh(double x) noexcept(true);
8348# 1131 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8349extern float acoshf(float x) noexcept(true);
8350# 1155 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8351extern double asinh(double x) noexcept(true);
8352# 1179 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8353extern float asinhf(float x) noexcept(true);
8354# 1204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8355extern double atanh(double x) noexcept(true);
8356# 1229 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8357extern float atanhf(float x) noexcept(true);
8358# 1247 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8359extern double ldexp(double x, int exp) noexcept(true);
8360# 1262 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8361extern float ldexpf(float x, int exp) noexcept(true);
8362# 1283 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8363extern double logb(double x) noexcept(true);
8364# 1307 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8365extern float logbf(float x) noexcept(true);
8366# 1331 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8367extern int ilogb(double x) noexcept(true);
8368# 1355 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8369extern int ilogbf(float x) noexcept(true);
8370# 1383 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8371extern double scalbn(double x, int n) noexcept(true);
8372# 1411 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8373extern float scalbnf(float x, int n) noexcept(true);
8374# 1439 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8375extern double scalbln(double x, long n) noexcept(true);
8376# 1467 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8377extern float scalblnf(float x, long n) noexcept(true);
8378# 1499 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8379extern double frexp(double x, int * nptr) noexcept(true);
8380# 1528 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8381extern float frexpf(float x, int * nptr) noexcept(true);
8382# 1551 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8383extern double round(double x) noexcept(true);
8384# 1577 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8385extern float roundf(float x) noexcept(true);
8386# 1595 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8387extern long lround(double x) noexcept(true);
8388# 1613 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8389extern long lroundf(float x) noexcept(true);
8390# 1631 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8391extern long long llround(double x) noexcept(true);
8392# 1649 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8393extern long long llroundf(float x) noexcept(true);
8394# 1719 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8395extern float rintf(float x) noexcept(true);
8396# 1736 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8397extern long lrint(double x) noexcept(true);
8398# 1753 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8399extern long lrintf(float x) noexcept(true);
8400# 1770 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8401extern long long llrint(double x) noexcept(true);
8402# 1787 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8403extern long long llrintf(float x) noexcept(true);
8404# 1811 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8405extern double nearbyint(double x) noexcept(true);
8406# 1835 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8407extern float nearbyintf(float x) noexcept(true);
8408# 1859 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8409extern double ceil(double x) noexcept(true);
8410# 1882 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8411extern double trunc(double x) noexcept(true);
8412# 1908 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8413extern float truncf(float x) noexcept(true);
8414# 1930 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8415extern double fdim(double x, double y) noexcept(true);
8416# 1951 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8417extern float fdimf(float x, float y) noexcept(true);
8418# 2034 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8419extern double atan2(double y, double x) noexcept(true);
8420# 2060 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8421extern double atan(double x) noexcept(true);
8422# 2077 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8423extern double acos(double x) noexcept(true);
8424# 2099 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8425extern double asin(double x) noexcept(true);
8426# 2130 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8427extern double hypot(double x, double y) noexcept(true);
8428# 2187 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8429extern float hypotf(float x, float y) noexcept(true);
8430# 2459 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8431extern double cbrt(double x) noexcept(true);
8432# 2486 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8433extern float cbrtf(float x) noexcept(true);
8434# 2512 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8435extern double rcbrt(double x);
8436# 2533 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8437extern float rcbrtf(float x);
8438# 2556 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8439extern double sinpi(double x);
8440# 2579 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8441extern float sinpif(float x);
8442# 2601 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8443extern double cospi(double x);
8444# 2623 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8445extern float cospif(float x);
8446# 2636 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8447extern void sincospi(double x, double * sptr, double * cptr);
8448# 2649 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8449extern void sincospif(float x, float * sptr, float * cptr);
8450# 2735 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8451extern double pow(double x, double y) noexcept(true);
8452# 2759 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8453extern double modf(double x, double * iptr) noexcept(true);
8454# 2786 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8455extern double fmod(double x, double y) noexcept(true);
8456# 2816 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8457extern double remainder(double x, double y) noexcept(true);
8458# 2849 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8459extern float remainderf(float x, float y) noexcept(true);
8460# 2887 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8461extern double remquo(double x, double y, int * quo) noexcept(true);
8462# 2925 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8463extern float remquof(float x, float y, int * quo) noexcept(true);
8464# 2946 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8465extern double j0(double x) noexcept(true);
8466# 2968 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8467extern float j0f(float x) noexcept(true);
8468# 2995 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8469extern double j1(double x) noexcept(true);
8470# 3022 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8471extern float j1f(float x) noexcept(true);
8472# 3045 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8473extern double jn(int n, double x) noexcept(true);
8474# 3068 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8475extern float jnf(int n, float x) noexcept(true);
8476# 3095 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8477extern double y0(double x) noexcept(true);
8478# 3122 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8479extern float y0f(float x) noexcept(true);
8480# 3149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8481extern double y1(double x) noexcept(true);
8482# 3176 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8483extern float y1f(float x) noexcept(true);
8484# 3204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8485extern double yn(int n, double x) noexcept(true);
8486# 3232 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8487extern float ynf(int n, float x) noexcept(true);
8488# 3328 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8489extern double erf(double x) noexcept(true);
8490# 3353 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8491extern float erff(float x) noexcept(true);
8492# 3383 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8493extern double erfinv(double x);
8494# 3406 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8495extern float erfinvf(float x);
8496# 3430 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8497extern double erfc(double x) noexcept(true);
8498# 3453 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8499extern float erfcf(float x) noexcept(true);
8500# 3485 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8501extern double lgamma(double x) noexcept(true);
8502# 3513 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8503extern double erfcinv(double x);
8504# 3534 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8505extern float erfcinvf(float x);
8506# 3556 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8507extern double normcdfinv(double x);
8508# 3578 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8509extern float normcdfinvf(float x);
8510# 3597 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8511extern double normcdf(double x);
8512# 3616 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8513extern float normcdff(float x);
8514# 3636 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8515extern double erfcx(double x);
8516# 3656 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8517extern float erfcxf(float x);
8518# 3689 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8519extern float lgammaf(float x) noexcept(true);
8520# 3718 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8521extern double tgamma(double x) noexcept(true);
8522# 3747 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8523extern float tgammaf(float x) noexcept(true);
8524# 3761 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8525extern double copysign(double x, double y) noexcept(true);
8526# 3775 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8527extern float copysignf(float x, float y) noexcept(true);
8528# 3794 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8529extern double nextafter(double x, double y) noexcept(true);
8530# 3813 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8531extern float nextafterf(float x, float y) noexcept(true);
8532# 3829 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8533extern double nan(const char * tagp) noexcept(true);
8534# 3845 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8535extern float nanf(const char * tagp) noexcept(true);
8536# 3852 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8537extern int __isinff(float) noexcept(true);
8538# 3853 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8539extern int __isnanf(float) noexcept(true);
8540# 3863 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8541extern int __finite(double) noexcept(true);
8542# 3864 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8543extern int __finitef(float) noexcept(true);
8544# 3865 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8545extern int __signbit(double) noexcept(true);
8546# 3866 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8547extern int __isnan(double) noexcept(true);
8548# 3867 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8549extern int __isinf(double) noexcept(true);
8550# 3870 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8551extern int __signbitf(float) noexcept(true);
8552# 3921 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8553extern double fma(double x, double y, double z) noexcept(true);
8554# 3971 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8555extern float fmaf(float x, float y, float z) noexcept(true);
8556# 3982 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8557extern int __signbitl(long double) noexcept(true);
8558# 3988 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8559extern int __finitel(long double) noexcept(true);
8560# 3989 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8561extern int __isinfl(long double) noexcept(true);
8562# 3990 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8563extern int __isnanl(long double) noexcept(true);
8564# 4034 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8565extern float acosf(float x) noexcept(true);
8566# 4056 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8567extern float asinf(float x) noexcept(true);
8568# 4083 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8569extern float atanf(float x) noexcept(true);
8570# 4163 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8571extern float atan2f(float y, float x) noexcept(true);
8572# 4182 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8573extern float cosf(float x) noexcept(true);
8574# 4202 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8575extern float sinf(float x) noexcept(true);
8576# 4222 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8577extern float tanf(float x) noexcept(true);
8578# 4241 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8579extern float coshf(float x) noexcept(true);
8580# 4261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8581extern float sinhf(float x) noexcept(true);
8582# 4281 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8583extern float tanhf(float x) noexcept(true);
8584# 4304 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8585extern float logf(float x) noexcept(true);
8586# 4334 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8587extern float expf(float x) noexcept(true);
8588# 4357 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8589extern float log10f(float x) noexcept(true);
8590# 4380 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8591extern float modff(float x, float * iptr) noexcept(true);
8592# 4463 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8593extern float powf(float x, float y) noexcept(true);
8594# 4487 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8595extern float sqrtf(float x) noexcept(true);
8596# 4510 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8597extern float ceilf(float x) noexcept(true);
8598# 4533 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8599extern float floorf(float x) noexcept(true);
8600# 4559 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8601extern float fmodf(float x, float y) noexcept(true);
8602# 4574 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
8603}
8604# 67 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8605extern "C++" {
8606# 69
8607namespace std __attribute((__visibility__("default"))) {
8608# 73
8609struct __true_type { };
8610# 74
8611struct __false_type { };
8612# 76
8613template< bool >
8614# 77
8615struct __truth_type {
8616# 78
8617typedef __false_type __type; };
8618# 81
8619template<> struct __truth_type< true> {
8620# 82
8621typedef __true_type __type; };
8622# 86
8623template< class _Sp, class _Tp>
8624# 87
8625struct __traitor {
8626# 89
8627enum { __value = ((bool)_Sp::__value) || ((bool)_Tp::__value)};
8628# 90
8629typedef typename __truth_type< __value> ::__type __type;
8630# 91
8631};
8632# 94
8633template< class , class >
8634# 95
8635struct __are_same {
8636# 97
8637enum { __value};
8638# 98
8639typedef __false_type __type;
8640# 99
8641};
8642# 101
8643template< class _Tp>
8644# 102
8645struct __are_same< _Tp, _Tp> {
8646# 104
8647enum { __value = 1};
8648# 105
8649typedef __true_type __type;
8650# 106
8651};
8652# 109
8653template< class _Tp>
8654# 110
8655struct __is_void {
8656# 112
8657enum { __value};
8658# 113
8659typedef __false_type __type;
8660# 114
8661};
8662# 117
8663template<> struct __is_void< void> {
8664# 119
8665enum { __value = 1};
8666# 120
8667typedef __true_type __type;
8668# 121
8669};
8670# 126
8671template< class _Tp>
8672# 127
8673struct __is_integer {
8674# 129
8675enum { __value};
8676# 130
8677typedef __false_type __type;
8678# 131
8679};
8680# 138
8681template<> struct __is_integer< bool> {
8682# 140
8683enum { __value = 1};
8684# 141
8685typedef __true_type __type;
8686# 142
8687};
8688# 145
8689template<> struct __is_integer< char> {
8690# 147
8691enum { __value = 1};
8692# 148
8693typedef __true_type __type;
8694# 149
8695};
8696# 152
8697template<> struct __is_integer< signed char> {
8698# 154
8699enum { __value = 1};
8700# 155
8701typedef __true_type __type;
8702# 156
8703};
8704# 159
8705template<> struct __is_integer< unsigned char> {
8706# 161
8707enum { __value = 1};
8708# 162
8709typedef __true_type __type;
8710# 163
8711};
8712# 167
8713template<> struct __is_integer< wchar_t> {
8714# 169
8715enum { __value = 1};
8716# 170
8717typedef __true_type __type;
8718# 171
8719};
8720# 185 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8721template<> struct __is_integer< char16_t> {
8722# 187
8723enum { __value = 1};
8724# 188
8725typedef __true_type __type;
8726# 189
8727};
8728# 192
8729template<> struct __is_integer< char32_t> {
8730# 194
8731enum { __value = 1};
8732# 195
8733typedef __true_type __type;
8734# 196
8735};
8736# 200
8737template<> struct __is_integer< short> {
8738# 202
8739enum { __value = 1};
8740# 203
8741typedef __true_type __type;
8742# 204
8743};
8744# 207
8745template<> struct __is_integer< unsigned short> {
8746# 209
8747enum { __value = 1};
8748# 210
8749typedef __true_type __type;
8750# 211
8751};
8752# 214
8753template<> struct __is_integer< int> {
8754# 216
8755enum { __value = 1};
8756# 217
8757typedef __true_type __type;
8758# 218
8759};
8760# 221
8761template<> struct __is_integer< unsigned> {
8762# 223
8763enum { __value = 1};
8764# 224
8765typedef __true_type __type;
8766# 225
8767};
8768# 228
8769template<> struct __is_integer< long> {
8770# 230
8771enum { __value = 1};
8772# 231
8773typedef __true_type __type;
8774# 232
8775};
8776# 235
8777template<> struct __is_integer< unsigned long> {
8778# 237
8779enum { __value = 1};
8780# 238
8781typedef __true_type __type;
8782# 239
8783};
8784# 242
8785template<> struct __is_integer< long long> {
8786# 244
8787enum { __value = 1};
8788# 245
8789typedef __true_type __type;
8790# 246
8791};
8792# 249
8793template<> struct __is_integer< unsigned long long> {
8794# 251
8795enum { __value = 1};
8796# 252
8797typedef __true_type __type;
8798# 253
8799};
8800# 272 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8801template<> struct __is_integer< __int128> { enum { __value = 1}; typedef __true_type __type; }; template<> struct __is_integer< unsigned __int128> { enum { __value = 1}; typedef __true_type __type; };
8802# 289 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8803template< class _Tp>
8804# 290
8805struct __is_floating {
8806# 292
8807enum { __value};
8808# 293
8809typedef __false_type __type;
8810# 294
8811};
8812# 298
8813template<> struct __is_floating< float> {
8814# 300
8815enum { __value = 1};
8816# 301
8817typedef __true_type __type;
8818# 302
8819};
8820# 305
8821template<> struct __is_floating< double> {
8822# 307
8823enum { __value = 1};
8824# 308
8825typedef __true_type __type;
8826# 309
8827};
8828# 312
8829template<> struct __is_floating< long double> {
8830# 314
8831enum { __value = 1};
8832# 315
8833typedef __true_type __type;
8834# 316
8835};
8836# 366 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8837template< class _Tp>
8838# 367
8839struct __is_pointer {
8840# 369
8841enum { __value};
8842# 370
8843typedef __false_type __type;
8844# 371
8845};
8846# 373
8847template< class _Tp>
8848# 374
8849struct __is_pointer< _Tp *> {
8850# 376
8851enum { __value = 1};
8852# 377
8853typedef __true_type __type;
8854# 378
8855};
8856# 383
8857template< class _Tp>
8858# 384
8859struct __is_arithmetic : public __traitor< __is_integer< _Tp> , __is_floating< _Tp> > {
8860# 386
8861};
8862# 391
8863template< class _Tp>
8864# 392
8865struct __is_scalar : public __traitor< __is_arithmetic< _Tp> , __is_pointer< _Tp> > {
8866# 394
8867};
8868# 399
8869template< class _Tp>
8870# 400
8871struct __is_char {
8872# 402
8873enum { __value};
8874# 403
8875typedef __false_type __type;
8876# 404
8877};
8878# 407
8879template<> struct __is_char< char> {
8880# 409
8881enum { __value = 1};
8882# 410
8883typedef __true_type __type;
8884# 411
8885};
8886# 415
8887template<> struct __is_char< wchar_t> {
8888# 417
8889enum { __value = 1};
8890# 418
8891typedef __true_type __type;
8892# 419
8893};
8894# 422
8895template< class _Tp>
8896# 423
8897struct __is_byte {
8898# 425
8899enum { __value};
8900# 426
8901typedef __false_type __type;
8902# 427
8903};
8904# 430
8905template<> struct __is_byte< char> {
8906# 432
8907enum { __value = 1};
8908# 433
8909typedef __true_type __type;
8910# 434
8911};
8912# 437
8913template<> struct __is_byte< signed char> {
8914# 439
8915enum { __value = 1};
8916# 440
8917typedef __true_type __type;
8918# 441
8919};
8920# 444
8921template<> struct __is_byte< unsigned char> {
8922# 446
8923enum { __value = 1};
8924# 447
8925typedef __true_type __type;
8926# 448
8927};
8928# 451
8929enum class byte: unsigned char;
8930# 454
8931template<> struct __is_byte< byte> {
8932# 456
8933enum { __value = 1};
8934# 457
8935typedef __true_type __type;
8936# 458
8937};
8938# 470 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
8939template< class > struct iterator_traits;
8940# 473
8941template< class _Tp>
8942# 474
8943struct __is_nonvolatile_trivially_copyable {
8944# 476
8945enum { __value = __is_trivially_copyable(_Tp)};
8946# 477
8947};
8948# 482
8949template< class _Tp>
8950# 483
8951struct __is_nonvolatile_trivially_copyable< volatile _Tp> {
8952# 485
8953enum { __value};
8954# 486
8955};
8956# 489
8957template< class _OutputIter, class _InputIter>
8958# 490
8959struct __memcpyable {
8960# 492
8961enum { __value};
8962# 493
8963};
8964# 495
8965template< class _Tp>
8966# 496
8967struct __memcpyable< _Tp *, _Tp *> : public __is_nonvolatile_trivially_copyable< _Tp> {
8968# 498
8969};
8970# 500
8971template< class _Tp>
8972# 501
8973struct __memcpyable< _Tp *, const _Tp *> : public __is_nonvolatile_trivially_copyable< _Tp> {
8974# 503
8975};
8976# 510
8977template< class _Iter1, class _Iter2>
8978# 511
8979struct __memcmpable {
8980# 513
8981enum { __value};
8982# 514
8983};
8984# 517
8985template< class _Tp>
8986# 518
8987struct __memcmpable< _Tp *, _Tp *> : public __is_nonvolatile_trivially_copyable< _Tp> {
8988# 520
8989};
8990# 522
8991template< class _Tp>
8992# 523
8993struct __memcmpable< const _Tp *, _Tp *> : public __is_nonvolatile_trivially_copyable< _Tp> {
8994# 525
8995};
8996# 527
8997template< class _Tp>
8998# 528
8999struct __memcmpable< _Tp *, const _Tp *> : public __is_nonvolatile_trivially_copyable< _Tp> {
9000# 530
9001};
9002# 538
9003template< class _Tp, bool _TreatAsBytes = __is_byte< _Tp> ::__value>
9004# 545
9005struct __is_memcmp_ordered {
9006# 547
9007static const bool __value = (((_Tp)(-1)) > ((_Tp)1));
9008# 548
9009};
9010# 550
9011template< class _Tp>
9012# 551
9013struct __is_memcmp_ordered< _Tp, false> {
9014# 553
9015static const bool __value = false;
9016# 554
9017};
9018# 557
9019template< class _Tp, class _Up, bool = sizeof(_Tp) == sizeof(_Up)>
9020# 558
9021struct __is_memcmp_ordered_with {
9022# 560
9023static const bool __value = (__is_memcmp_ordered< _Tp> ::__value && __is_memcmp_ordered< _Up> ::__value);
9024# 562
9025};
9026# 564
9027template< class _Tp, class _Up>
9028# 565
9029struct __is_memcmp_ordered_with< _Tp, _Up, false> {
9030# 567
9031static const bool __value = false;
9032# 568
9033};
9034# 580 "/usr/include/c++/13/bits/cpp_type_traits.h" 3
9035template<> struct __is_memcmp_ordered_with< byte, byte, true> {
9036# 581
9037static constexpr inline bool __value = true; };
9038# 583
9039template< class _Tp, bool _SameSize>
9040# 584
9041struct __is_memcmp_ordered_with< _Tp, byte, _SameSize> {
9042# 585
9043static constexpr inline bool __value = false; };
9044# 587
9045template< class _Up, bool _SameSize>
9046# 588
9047struct __is_memcmp_ordered_with< byte, _Up, _SameSize> {
9048# 589
9049static constexpr inline bool __value = false; };
9050# 595
9051template< class _Tp>
9052# 596
9053struct __is_move_iterator {
9054# 598
9055enum { __value};
9056# 599
9057typedef __false_type __type;
9058# 600
9059};
9060# 604
9061template< class _Iterator> inline _Iterator
9062# 607
9063__miter_base(_Iterator __it)
9064# 608
9065{ return __it; }
9066# 611
9067}
9068# 612
9069}
9070# 37 "/usr/include/c++/13/ext/type_traits.h" 3
9071extern "C++" {
9072# 39
9073namespace __gnu_cxx __attribute((__visibility__("default"))) {
9074# 44
9075template< bool , class >
9076# 45
9077struct __enable_if {
9078# 46
9079};
9080# 48
9081template< class _Tp>
9082# 49
9083struct __enable_if< true, _Tp> {
9084# 50
9085typedef _Tp __type; };
9086# 54
9087template< bool _Cond, class _Iftrue, class _Iffalse>
9088# 55
9089struct __conditional_type {
9090# 56
9091typedef _Iftrue __type; };
9092# 58
9093template< class _Iftrue, class _Iffalse>
9094# 59
9095struct __conditional_type< false, _Iftrue, _Iffalse> {
9096# 60
9097typedef _Iffalse __type; };
9098# 64
9099template< class _Tp>
9100# 65
9101struct __add_unsigned {
9102# 68
9103private: typedef __enable_if< std::__is_integer< _Tp> ::__value, _Tp> __if_type;
9104# 71
9105public: typedef typename __enable_if< std::__is_integer< _Tp> ::__value, _Tp> ::__type __type;
9106# 72
9107};
9108# 75
9109template<> struct __add_unsigned< char> {
9110# 76
9111typedef unsigned char __type; };
9112# 79
9113template<> struct __add_unsigned< signed char> {
9114# 80
9115typedef unsigned char __type; };
9116# 83
9117template<> struct __add_unsigned< short> {
9118# 84
9119typedef unsigned short __type; };
9120# 87
9121template<> struct __add_unsigned< int> {
9122# 88
9123typedef unsigned __type; };
9124# 91
9125template<> struct __add_unsigned< long> {
9126# 92
9127typedef unsigned long __type; };
9128# 95
9129template<> struct __add_unsigned< long long> {
9130# 96
9131typedef unsigned long long __type; };
9132# 100
9133template<> struct __add_unsigned< bool> ;
9134# 103
9135template<> struct __add_unsigned< wchar_t> ;
9136# 107
9137template< class _Tp>
9138# 108
9139struct __remove_unsigned {
9140# 111
9141private: typedef __enable_if< std::__is_integer< _Tp> ::__value, _Tp> __if_type;
9142# 114
9143public: typedef typename __enable_if< std::__is_integer< _Tp> ::__value, _Tp> ::__type __type;
9144# 115
9145};
9146# 118
9147template<> struct __remove_unsigned< char> {
9148# 119
9149typedef signed char __type; };
9150# 122
9151template<> struct __remove_unsigned< unsigned char> {
9152# 123
9153typedef signed char __type; };
9154# 126
9155template<> struct __remove_unsigned< unsigned short> {
9156# 127
9157typedef short __type; };
9158# 130
9159template<> struct __remove_unsigned< unsigned> {
9160# 131
9161typedef int __type; };
9162# 134
9163template<> struct __remove_unsigned< unsigned long> {
9164# 135
9165typedef long __type; };
9166# 138
9167template<> struct __remove_unsigned< unsigned long long> {
9168# 139
9169typedef long long __type; };
9170# 143
9171template<> struct __remove_unsigned< bool> ;
9172# 146
9173template<> struct __remove_unsigned< wchar_t> ;
9174# 150
9175template< class _Type> constexpr bool
9176# 153
9177__is_null_pointer(_Type *__ptr)
9178# 154
9179{ return __ptr == 0; }
9180# 156
9181template< class _Type> constexpr bool
9182# 159
9183__is_null_pointer(_Type)
9184# 160
9185{ return false; }
9186# 164
9187constexpr bool __is_null_pointer(std::nullptr_t)
9188# 165
9189{ return true; }
9190# 170
9191template< class _Tp, bool = std::template __is_integer< _Tp> ::__value>
9192# 171
9193struct __promote {
9194# 172
9195typedef double __type; };
9196# 177
9197template< class _Tp>
9198# 178
9199struct __promote< _Tp, false> {
9200# 179
9201};
9202# 182
9203template<> struct __promote< long double> {
9204# 183
9205typedef long double __type; };
9206# 186
9207template<> struct __promote< double> {
9208# 187
9209typedef double __type; };
9210# 190
9211template<> struct __promote< float> {
9212# 191
9213typedef float __type; };
9214# 225 "/usr/include/c++/13/ext/type_traits.h" 3
9215template< class ..._Tp> using __promoted_t = __decltype(((((typename __promote< _Tp> ::__type)0) + ... )));
9216# 230
9217template< class _Tp, class _Up> using __promote_2 = __promote< __promoted_t< _Tp, _Up> > ;
9218# 233
9219template< class _Tp, class _Up, class _Vp> using __promote_3 = __promote< __promoted_t< _Tp, _Up, _Vp> > ;
9220# 236
9221template< class _Tp, class _Up, class _Vp, class _Wp> using __promote_4 = __promote< __promoted_t< _Tp, _Up, _Vp, _Wp> > ;
9222# 270 "/usr/include/c++/13/ext/type_traits.h" 3
9223}
9224# 271
9225}
9226# 34 "/usr/include/math.h" 3
9227extern "C" {
9228# 163 "/usr/include/math.h" 3
9229typedef float float_t;
9230# 164
9231typedef double double_t;
9232# 252 "/usr/include/math.h" 3
9233enum {
9234# 253
9235FP_INT_UPWARD,
9236# 256
9237FP_INT_DOWNWARD,
9238# 259
9239FP_INT_TOWARDZERO,
9240# 262
9241FP_INT_TONEARESTFROMZERO,
9242# 265
9243FP_INT_TONEAREST
9244# 268
9245};
9246# 20 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3
9247extern int __fpclassify(double __value) noexcept(true)
9248# 21
9249 __attribute((const));
9250# 24
9251extern int __signbit(double __value) noexcept(true)
9252# 25
9253 __attribute((const));
9254# 29
9255extern int __isinf(double __value) noexcept(true)
9256# 30
9257 __attribute((const));
9258# 33
9259extern int __finite(double __value) noexcept(true)
9260# 34
9261 __attribute((const));
9262# 37
9263extern int __isnan(double __value) noexcept(true)
9264# 38
9265 __attribute((const));
9266# 41
9267extern int __iseqsig(double __x, double __y) noexcept(true);
9268# 44
9269extern int __issignaling(double __value) noexcept(true)
9270# 45
9271 __attribute((const));
9272# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9273extern double acos(double __x) noexcept(true); extern double __acos(double __x) noexcept(true);
9274# 55
9275extern double asin(double __x) noexcept(true); extern double __asin(double __x) noexcept(true);
9276# 57
9277extern double atan(double __x) noexcept(true); extern double __atan(double __x) noexcept(true);
9278# 59
9279extern double atan2(double __y, double __x) noexcept(true); extern double __atan2(double __y, double __x) noexcept(true);
9280# 62
9281extern double cos(double __x) noexcept(true); extern double __cos(double __x) noexcept(true);
9282# 64
9283extern double sin(double __x) noexcept(true); extern double __sin(double __x) noexcept(true);
9284# 66
9285extern double tan(double __x) noexcept(true); extern double __tan(double __x) noexcept(true);
9286# 71
9287extern double cosh(double __x) noexcept(true); extern double __cosh(double __x) noexcept(true);
9288# 73
9289extern double sinh(double __x) noexcept(true); extern double __sinh(double __x) noexcept(true);
9290# 75
9291extern double tanh(double __x) noexcept(true); extern double __tanh(double __x) noexcept(true);
9292# 79
9293extern void sincos(double __x, double * __sinx, double * __cosx) noexcept(true); extern void __sincos(double __x, double * __sinx, double * __cosx) noexcept(true);
9294# 85
9295extern double acosh(double __x) noexcept(true); extern double __acosh(double __x) noexcept(true);
9296# 87
9297extern double asinh(double __x) noexcept(true); extern double __asinh(double __x) noexcept(true);
9298# 89
9299extern double atanh(double __x) noexcept(true); extern double __atanh(double __x) noexcept(true);
9300# 95
9301extern double exp(double __x) noexcept(true); extern double __exp(double __x) noexcept(true);
9302# 98
9303extern double frexp(double __x, int * __exponent) noexcept(true); extern double __frexp(double __x, int * __exponent) noexcept(true);
9304# 101
9305extern double ldexp(double __x, int __exponent) noexcept(true); extern double __ldexp(double __x, int __exponent) noexcept(true);
9306# 104
9307extern double log(double __x) noexcept(true); extern double __log(double __x) noexcept(true);
9308# 107
9309extern double log10(double __x) noexcept(true); extern double __log10(double __x) noexcept(true);
9310# 110
9311extern double modf(double __x, double * __iptr) noexcept(true); extern double __modf(double __x, double * __iptr) noexcept(true) __attribute((__nonnull__(2)));
9312# 114
9313extern double exp10(double __x) noexcept(true); extern double __exp10(double __x) noexcept(true);
9314# 119
9315extern double expm1(double __x) noexcept(true); extern double __expm1(double __x) noexcept(true);
9316# 122
9317extern double log1p(double __x) noexcept(true); extern double __log1p(double __x) noexcept(true);
9318# 125
9319extern double logb(double __x) noexcept(true); extern double __logb(double __x) noexcept(true);
9320# 130
9321extern double exp2(double __x) noexcept(true); extern double __exp2(double __x) noexcept(true);
9322# 133
9323extern double log2(double __x) noexcept(true); extern double __log2(double __x) noexcept(true);
9324# 140
9325extern double pow(double __x, double __y) noexcept(true); extern double __pow(double __x, double __y) noexcept(true);
9326# 143
9327extern double sqrt(double __x) noexcept(true); extern double __sqrt(double __x) noexcept(true);
9328# 147
9329extern double hypot(double __x, double __y) noexcept(true); extern double __hypot(double __x, double __y) noexcept(true);
9330# 152
9331extern double cbrt(double __x) noexcept(true); extern double __cbrt(double __x) noexcept(true);
9332# 159
9333extern double ceil(double __x) noexcept(true) __attribute((const)); extern double __ceil(double __x) noexcept(true) __attribute((const));
9334# 162
9335extern double fabs(double __x) noexcept(true) __attribute((const)); extern double __fabs(double __x) noexcept(true) __attribute((const));
9336# 165
9337extern double floor(double __x) noexcept(true) __attribute((const)); extern double __floor(double __x) noexcept(true) __attribute((const));
9338# 168
9339extern double fmod(double __x, double __y) noexcept(true); extern double __fmod(double __x, double __y) noexcept(true);
9340# 183 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9341extern int finite(double __value) noexcept(true)
9342# 184
9343 __attribute((const));
9344# 187
9345extern double drem(double __x, double __y) noexcept(true); extern double __drem(double __x, double __y) noexcept(true);
9346# 191
9347extern double significand(double __x) noexcept(true); extern double __significand(double __x) noexcept(true);
9348# 198
9349extern double copysign(double __x, double __y) noexcept(true) __attribute((const)); extern double __copysign(double __x, double __y) noexcept(true) __attribute((const));
9350# 203
9351extern double nan(const char * __tagb) noexcept(true); extern double __nan(const char * __tagb) noexcept(true);
9352# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9353extern double j0(double) noexcept(true); extern double __j0(double) noexcept(true);
9354# 221
9355extern double j1(double) noexcept(true); extern double __j1(double) noexcept(true);
9356# 222
9357extern double jn(int, double) noexcept(true); extern double __jn(int, double) noexcept(true);
9358# 223
9359extern double y0(double) noexcept(true); extern double __y0(double) noexcept(true);
9360# 224
9361extern double y1(double) noexcept(true); extern double __y1(double) noexcept(true);
9362# 225
9363extern double yn(int, double) noexcept(true); extern double __yn(int, double) noexcept(true);
9364# 231
9365extern double erf(double) noexcept(true); extern double __erf(double) noexcept(true);
9366# 232
9367extern double erfc(double) noexcept(true); extern double __erfc(double) noexcept(true);
9368# 233
9369extern double lgamma(double) noexcept(true); extern double __lgamma(double) noexcept(true);
9370# 238
9371extern double tgamma(double) noexcept(true); extern double __tgamma(double) noexcept(true);
9372# 244
9373extern double gamma(double) noexcept(true); extern double __gamma(double) noexcept(true);
9374# 252
9375extern double lgamma_r(double, int * __signgamp) noexcept(true); extern double __lgamma_r(double, int * __signgamp) noexcept(true);
9376# 259
9377extern double rint(double __x) noexcept(true); extern double __rint(double __x) noexcept(true);
9378# 262
9379extern double nextafter(double __x, double __y) noexcept(true); extern double __nextafter(double __x, double __y) noexcept(true);
9380# 264
9381extern double nexttoward(double __x, long double __y) noexcept(true); extern double __nexttoward(double __x, long double __y) noexcept(true);
9382# 269
9383extern double nextdown(double __x) noexcept(true); extern double __nextdown(double __x) noexcept(true);
9384# 271
9385extern double nextup(double __x) noexcept(true); extern double __nextup(double __x) noexcept(true);
9386# 275
9387extern double remainder(double __x, double __y) noexcept(true); extern double __remainder(double __x, double __y) noexcept(true);
9388# 279
9389extern double scalbn(double __x, int __n) noexcept(true); extern double __scalbn(double __x, int __n) noexcept(true);
9390# 283
9391extern int ilogb(double __x) noexcept(true); extern int __ilogb(double __x) noexcept(true);
9392# 288
9393extern long llogb(double __x) noexcept(true); extern long __llogb(double __x) noexcept(true);
9394# 293
9395extern double scalbln(double __x, long __n) noexcept(true); extern double __scalbln(double __x, long __n) noexcept(true);
9396# 297
9397extern double nearbyint(double __x) noexcept(true); extern double __nearbyint(double __x) noexcept(true);
9398# 301
9399extern double round(double __x) noexcept(true) __attribute((const)); extern double __round(double __x) noexcept(true) __attribute((const));
9400# 305
9401extern double trunc(double __x) noexcept(true) __attribute((const)); extern double __trunc(double __x) noexcept(true) __attribute((const));
9402# 310
9403extern double remquo(double __x, double __y, int * __quo) noexcept(true); extern double __remquo(double __x, double __y, int * __quo) noexcept(true);
9404# 317
9405extern long lrint(double __x) noexcept(true); extern long __lrint(double __x) noexcept(true);
9406# 319
9407__extension__ extern long long llrint(double __x) noexcept(true); extern long long __llrint(double __x) noexcept(true);
9408# 323
9409extern long lround(double __x) noexcept(true); extern long __lround(double __x) noexcept(true);
9410# 325
9411__extension__ extern long long llround(double __x) noexcept(true); extern long long __llround(double __x) noexcept(true);
9412# 329
9413extern double fdim(double __x, double __y) noexcept(true); extern double __fdim(double __x, double __y) noexcept(true);
9414# 333
9415extern double fmax(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmax(double __x, double __y) noexcept(true) __attribute((const));
9416# 336
9417extern double fmin(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmin(double __x, double __y) noexcept(true) __attribute((const));
9418# 340
9419extern double fma(double __x, double __y, double __z) noexcept(true); extern double __fma(double __x, double __y, double __z) noexcept(true);
9420# 345
9421extern double roundeven(double __x) noexcept(true) __attribute((const)); extern double __roundeven(double __x) noexcept(true) __attribute((const));
9422# 349
9423extern __intmax_t fromfp(double __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfp(double __x, int __round, unsigned __width) noexcept(true);
9424# 354
9425extern __uintmax_t ufromfp(double __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfp(double __x, int __round, unsigned __width) noexcept(true);
9426# 360
9427extern __intmax_t fromfpx(double __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpx(double __x, int __round, unsigned __width) noexcept(true);
9428# 366
9429extern __uintmax_t ufromfpx(double __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpx(double __x, int __round, unsigned __width) noexcept(true);
9430# 370
9431extern int canonicalize(double * __cx, const double * __x) noexcept(true);
9432# 377
9433extern double fmaxmag(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmaxmag(double __x, double __y) noexcept(true) __attribute((const));
9434# 380
9435extern double fminmag(double __x, double __y) noexcept(true) __attribute((const)); extern double __fminmag(double __x, double __y) noexcept(true) __attribute((const));
9436# 385
9437extern double fmaximum(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmaximum(double __x, double __y) noexcept(true) __attribute((const));
9438# 388
9439extern double fminimum(double __x, double __y) noexcept(true) __attribute((const)); extern double __fminimum(double __x, double __y) noexcept(true) __attribute((const));
9440# 391
9441extern double fmaximum_num(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmaximum_num(double __x, double __y) noexcept(true) __attribute((const));
9442# 394
9443extern double fminimum_num(double __x, double __y) noexcept(true) __attribute((const)); extern double __fminimum_num(double __x, double __y) noexcept(true) __attribute((const));
9444# 397
9445extern double fmaximum_mag(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmaximum_mag(double __x, double __y) noexcept(true) __attribute((const));
9446# 400
9447extern double fminimum_mag(double __x, double __y) noexcept(true) __attribute((const)); extern double __fminimum_mag(double __x, double __y) noexcept(true) __attribute((const));
9448# 403
9449extern double fmaximum_mag_num(double __x, double __y) noexcept(true) __attribute((const)); extern double __fmaximum_mag_num(double __x, double __y) noexcept(true) __attribute((const));
9450# 406
9451extern double fminimum_mag_num(double __x, double __y) noexcept(true) __attribute((const)); extern double __fminimum_mag_num(double __x, double __y) noexcept(true) __attribute((const));
9452# 411
9453extern int totalorder(const double * __x, const double * __y) noexcept(true)
9454# 413
9455 __attribute((__pure__));
9456# 416
9457extern int totalordermag(const double * __x, const double * __y) noexcept(true)
9458# 418
9459 __attribute((__pure__));
9460# 421
9461extern double getpayload(const double * __x) noexcept(true); extern double __getpayload(const double * __x) noexcept(true);
9462# 424
9463extern int setpayload(double * __x, double __payload) noexcept(true);
9464# 427
9465extern int setpayloadsig(double * __x, double __payload) noexcept(true);
9466# 435
9467extern double scalb(double __x, double __n) noexcept(true); extern double __scalb(double __x, double __n) noexcept(true);
9468# 20 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3
9469extern int __fpclassifyf(float __value) noexcept(true)
9470# 21
9471 __attribute((const));
9472# 24
9473extern int __signbitf(float __value) noexcept(true)
9474# 25
9475 __attribute((const));
9476# 29
9477extern int __isinff(float __value) noexcept(true)
9478# 30
9479 __attribute((const));
9480# 33
9481extern int __finitef(float __value) noexcept(true)
9482# 34
9483 __attribute((const));
9484# 37
9485extern int __isnanf(float __value) noexcept(true)
9486# 38
9487 __attribute((const));
9488# 41
9489extern int __iseqsigf(float __x, float __y) noexcept(true);
9490# 44
9491extern int __issignalingf(float __value) noexcept(true)
9492# 45
9493 __attribute((const));
9494# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9495extern float acosf(float __x) noexcept(true); extern float __acosf(float __x) noexcept(true);
9496# 55
9497extern float asinf(float __x) noexcept(true); extern float __asinf(float __x) noexcept(true);
9498# 57
9499extern float atanf(float __x) noexcept(true); extern float __atanf(float __x) noexcept(true);
9500# 59
9501extern float atan2f(float __y, float __x) noexcept(true); extern float __atan2f(float __y, float __x) noexcept(true);
9502# 62
9503extern float cosf(float __x) noexcept(true);
9504# 64
9505extern float sinf(float __x) noexcept(true);
9506# 66
9507extern float tanf(float __x) noexcept(true);
9508# 71
9509extern float coshf(float __x) noexcept(true); extern float __coshf(float __x) noexcept(true);
9510# 73
9511extern float sinhf(float __x) noexcept(true); extern float __sinhf(float __x) noexcept(true);
9512# 75
9513extern float tanhf(float __x) noexcept(true);
9514# 79
9515extern void sincosf(float __x, float * __sinx, float * __cosx) noexcept(true);
9516# 85
9517extern float acoshf(float __x) noexcept(true); extern float __acoshf(float __x) noexcept(true);
9518# 87
9519extern float asinhf(float __x) noexcept(true); extern float __asinhf(float __x) noexcept(true);
9520# 89
9521extern float atanhf(float __x) noexcept(true); extern float __atanhf(float __x) noexcept(true);
9522# 95
9523extern float expf(float __x) noexcept(true);
9524# 98
9525extern float frexpf(float __x, int * __exponent) noexcept(true); extern float __frexpf(float __x, int * __exponent) noexcept(true);
9526# 101
9527extern float ldexpf(float __x, int __exponent) noexcept(true); extern float __ldexpf(float __x, int __exponent) noexcept(true);
9528# 104
9529extern float logf(float __x) noexcept(true);
9530# 107
9531extern float log10f(float __x) noexcept(true);
9532# 110
9533extern float modff(float __x, float * __iptr) noexcept(true); extern float __modff(float __x, float * __iptr) noexcept(true) __attribute((__nonnull__(2)));
9534# 114
9535extern float exp10f(float __x) noexcept(true);
9536# 119
9537extern float expm1f(float __x) noexcept(true); extern float __expm1f(float __x) noexcept(true);
9538# 122
9539extern float log1pf(float __x) noexcept(true); extern float __log1pf(float __x) noexcept(true);
9540# 125
9541extern float logbf(float __x) noexcept(true); extern float __logbf(float __x) noexcept(true);
9542# 130
9543extern float exp2f(float __x) noexcept(true); extern float __exp2f(float __x) noexcept(true);
9544# 133
9545extern float log2f(float __x) noexcept(true);
9546# 140
9547extern float powf(float __x, float __y) noexcept(true);
9548# 143
9549extern float sqrtf(float __x) noexcept(true); extern float __sqrtf(float __x) noexcept(true);
9550# 147
9551extern float hypotf(float __x, float __y) noexcept(true); extern float __hypotf(float __x, float __y) noexcept(true);
9552# 152
9553extern float cbrtf(float __x) noexcept(true); extern float __cbrtf(float __x) noexcept(true);
9554# 159
9555extern float ceilf(float __x) noexcept(true) __attribute((const)); extern float __ceilf(float __x) noexcept(true) __attribute((const));
9556# 162
9557extern float fabsf(float __x) noexcept(true) __attribute((const)); extern float __fabsf(float __x) noexcept(true) __attribute((const));
9558# 165
9559extern float floorf(float __x) noexcept(true) __attribute((const)); extern float __floorf(float __x) noexcept(true) __attribute((const));
9560# 168
9561extern float fmodf(float __x, float __y) noexcept(true); extern float __fmodf(float __x, float __y) noexcept(true);
9562# 177 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9563extern int isinff(float __value) noexcept(true)
9564# 178
9565 __attribute((const));
9566# 183
9567extern int finitef(float __value) noexcept(true)
9568# 184
9569 __attribute((const));
9570# 187
9571extern float dremf(float __x, float __y) noexcept(true); extern float __dremf(float __x, float __y) noexcept(true);
9572# 191
9573extern float significandf(float __x) noexcept(true); extern float __significandf(float __x) noexcept(true);
9574# 198
9575extern float copysignf(float __x, float __y) noexcept(true) __attribute((const)); extern float __copysignf(float __x, float __y) noexcept(true) __attribute((const));
9576# 203
9577extern float nanf(const char * __tagb) noexcept(true); extern float __nanf(const char * __tagb) noexcept(true);
9578# 213 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9579extern int isnanf(float __value) noexcept(true)
9580# 214
9581 __attribute((const));
9582# 220
9583extern float j0f(float) noexcept(true); extern float __j0f(float) noexcept(true);
9584# 221
9585extern float j1f(float) noexcept(true); extern float __j1f(float) noexcept(true);
9586# 222
9587extern float jnf(int, float) noexcept(true); extern float __jnf(int, float) noexcept(true);
9588# 223
9589extern float y0f(float) noexcept(true); extern float __y0f(float) noexcept(true);
9590# 224
9591extern float y1f(float) noexcept(true); extern float __y1f(float) noexcept(true);
9592# 225
9593extern float ynf(int, float) noexcept(true); extern float __ynf(int, float) noexcept(true);
9594# 231
9595extern float erff(float) noexcept(true); extern float __erff(float) noexcept(true);
9596# 232
9597extern float erfcf(float) noexcept(true); extern float __erfcf(float) noexcept(true);
9598# 233
9599extern float lgammaf(float) noexcept(true); extern float __lgammaf(float) noexcept(true);
9600# 238
9601extern float tgammaf(float) noexcept(true); extern float __tgammaf(float) noexcept(true);
9602# 244
9603extern float gammaf(float) noexcept(true); extern float __gammaf(float) noexcept(true);
9604# 252
9605extern float lgammaf_r(float, int * __signgamp) noexcept(true); extern float __lgammaf_r(float, int * __signgamp) noexcept(true);
9606# 259
9607extern float rintf(float __x) noexcept(true); extern float __rintf(float __x) noexcept(true);
9608# 262
9609extern float nextafterf(float __x, float __y) noexcept(true); extern float __nextafterf(float __x, float __y) noexcept(true);
9610# 264
9611extern float nexttowardf(float __x, long double __y) noexcept(true); extern float __nexttowardf(float __x, long double __y) noexcept(true);
9612# 269
9613extern float nextdownf(float __x) noexcept(true); extern float __nextdownf(float __x) noexcept(true);
9614# 271
9615extern float nextupf(float __x) noexcept(true); extern float __nextupf(float __x) noexcept(true);
9616# 275
9617extern float remainderf(float __x, float __y) noexcept(true); extern float __remainderf(float __x, float __y) noexcept(true);
9618# 279
9619extern float scalbnf(float __x, int __n) noexcept(true); extern float __scalbnf(float __x, int __n) noexcept(true);
9620# 283
9621extern int ilogbf(float __x) noexcept(true); extern int __ilogbf(float __x) noexcept(true);
9622# 288
9623extern long llogbf(float __x) noexcept(true); extern long __llogbf(float __x) noexcept(true);
9624# 293
9625extern float scalblnf(float __x, long __n) noexcept(true); extern float __scalblnf(float __x, long __n) noexcept(true);
9626# 297
9627extern float nearbyintf(float __x) noexcept(true); extern float __nearbyintf(float __x) noexcept(true);
9628# 301
9629extern float roundf(float __x) noexcept(true) __attribute((const)); extern float __roundf(float __x) noexcept(true) __attribute((const));
9630# 305
9631extern float truncf(float __x) noexcept(true) __attribute((const)); extern float __truncf(float __x) noexcept(true) __attribute((const));
9632# 310
9633extern float remquof(float __x, float __y, int * __quo) noexcept(true); extern float __remquof(float __x, float __y, int * __quo) noexcept(true);
9634# 317
9635extern long lrintf(float __x) noexcept(true); extern long __lrintf(float __x) noexcept(true);
9636# 319
9637__extension__ extern long long llrintf(float __x) noexcept(true); extern long long __llrintf(float __x) noexcept(true);
9638# 323
9639extern long lroundf(float __x) noexcept(true); extern long __lroundf(float __x) noexcept(true);
9640# 325
9641__extension__ extern long long llroundf(float __x) noexcept(true); extern long long __llroundf(float __x) noexcept(true);
9642# 329
9643extern float fdimf(float __x, float __y) noexcept(true); extern float __fdimf(float __x, float __y) noexcept(true);
9644# 333
9645extern float fmaxf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaxf(float __x, float __y) noexcept(true) __attribute((const));
9646# 336
9647extern float fminf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminf(float __x, float __y) noexcept(true) __attribute((const));
9648# 340
9649extern float fmaf(float __x, float __y, float __z) noexcept(true); extern float __fmaf(float __x, float __y, float __z) noexcept(true);
9650# 345
9651extern float roundevenf(float __x) noexcept(true) __attribute((const)); extern float __roundevenf(float __x) noexcept(true) __attribute((const));
9652# 349
9653extern __intmax_t fromfpf(float __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf(float __x, int __round, unsigned __width) noexcept(true);
9654# 354
9655extern __uintmax_t ufromfpf(float __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf(float __x, int __round, unsigned __width) noexcept(true);
9656# 360
9657extern __intmax_t fromfpxf(float __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf(float __x, int __round, unsigned __width) noexcept(true);
9658# 366
9659extern __uintmax_t ufromfpxf(float __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf(float __x, int __round, unsigned __width) noexcept(true);
9660# 370
9661extern int canonicalizef(float * __cx, const float * __x) noexcept(true);
9662# 377
9663extern float fmaxmagf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaxmagf(float __x, float __y) noexcept(true) __attribute((const));
9664# 380
9665extern float fminmagf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminmagf(float __x, float __y) noexcept(true) __attribute((const));
9666# 385
9667extern float fmaximumf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaximumf(float __x, float __y) noexcept(true) __attribute((const));
9668# 388
9669extern float fminimumf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminimumf(float __x, float __y) noexcept(true) __attribute((const));
9670# 391
9671extern float fmaximum_numf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaximum_numf(float __x, float __y) noexcept(true) __attribute((const));
9672# 394
9673extern float fminimum_numf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminimum_numf(float __x, float __y) noexcept(true) __attribute((const));
9674# 397
9675extern float fmaximum_magf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaximum_magf(float __x, float __y) noexcept(true) __attribute((const));
9676# 400
9677extern float fminimum_magf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminimum_magf(float __x, float __y) noexcept(true) __attribute((const));
9678# 403
9679extern float fmaximum_mag_numf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fmaximum_mag_numf(float __x, float __y) noexcept(true) __attribute((const));
9680# 406
9681extern float fminimum_mag_numf(float __x, float __y) noexcept(true) __attribute((const)); extern float __fminimum_mag_numf(float __x, float __y) noexcept(true) __attribute((const));
9682# 411
9683extern int totalorderf(const float * __x, const float * __y) noexcept(true)
9684# 413
9685 __attribute((__pure__));
9686# 416
9687extern int totalordermagf(const float * __x, const float * __y) noexcept(true)
9688# 418
9689 __attribute((__pure__));
9690# 421
9691extern float getpayloadf(const float * __x) noexcept(true); extern float __getpayloadf(const float * __x) noexcept(true);
9692# 424
9693extern int setpayloadf(float * __x, float __payload) noexcept(true);
9694# 427
9695extern int setpayloadsigf(float * __x, float __payload) noexcept(true);
9696# 435
9697extern float scalbf(float __x, float __n) noexcept(true); extern float __scalbf(float __x, float __n) noexcept(true);
9698# 20 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3
9699extern int __fpclassifyl(long double __value) noexcept(true)
9700# 21
9701 __attribute((const));
9702# 24
9703extern int __signbitl(long double __value) noexcept(true)
9704# 25
9705 __attribute((const));
9706# 29
9707extern int __isinfl(long double __value) noexcept(true)
9708# 30
9709 __attribute((const));
9710# 33
9711extern int __finitel(long double __value) noexcept(true)
9712# 34
9713 __attribute((const));
9714# 37
9715extern int __isnanl(long double __value) noexcept(true)
9716# 38
9717 __attribute((const));
9718# 41
9719extern int __iseqsigl(long double __x, long double __y) noexcept(true);
9720# 44
9721extern int __issignalingl(long double __value) noexcept(true)
9722# 45
9723 __attribute((const));
9724# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9725extern long double acosl(long double __x) noexcept(true); extern long double __acosl(long double __x) noexcept(true);
9726# 55
9727extern long double asinl(long double __x) noexcept(true); extern long double __asinl(long double __x) noexcept(true);
9728# 57
9729extern long double atanl(long double __x) noexcept(true); extern long double __atanl(long double __x) noexcept(true);
9730# 59
9731extern long double atan2l(long double __y, long double __x) noexcept(true); extern long double __atan2l(long double __y, long double __x) noexcept(true);
9732# 62
9733extern long double cosl(long double __x) noexcept(true); extern long double __cosl(long double __x) noexcept(true);
9734# 64
9735extern long double sinl(long double __x) noexcept(true); extern long double __sinl(long double __x) noexcept(true);
9736# 66
9737extern long double tanl(long double __x) noexcept(true); extern long double __tanl(long double __x) noexcept(true);
9738# 71
9739extern long double coshl(long double __x) noexcept(true); extern long double __coshl(long double __x) noexcept(true);
9740# 73
9741extern long double sinhl(long double __x) noexcept(true); extern long double __sinhl(long double __x) noexcept(true);
9742# 75
9743extern long double tanhl(long double __x) noexcept(true); extern long double __tanhl(long double __x) noexcept(true);
9744# 79
9745extern void sincosl(long double __x, long double * __sinx, long double * __cosx) noexcept(true); extern void __sincosl(long double __x, long double * __sinx, long double * __cosx) noexcept(true);
9746# 85
9747extern long double acoshl(long double __x) noexcept(true); extern long double __acoshl(long double __x) noexcept(true);
9748# 87
9749extern long double asinhl(long double __x) noexcept(true); extern long double __asinhl(long double __x) noexcept(true);
9750# 89
9751extern long double atanhl(long double __x) noexcept(true); extern long double __atanhl(long double __x) noexcept(true);
9752# 95
9753extern long double expl(long double __x) noexcept(true); extern long double __expl(long double __x) noexcept(true);
9754# 98
9755extern long double frexpl(long double __x, int * __exponent) noexcept(true); extern long double __frexpl(long double __x, int * __exponent) noexcept(true);
9756# 101
9757extern long double ldexpl(long double __x, int __exponent) noexcept(true); extern long double __ldexpl(long double __x, int __exponent) noexcept(true);
9758# 104
9759extern long double logl(long double __x) noexcept(true); extern long double __logl(long double __x) noexcept(true);
9760# 107
9761extern long double log10l(long double __x) noexcept(true); extern long double __log10l(long double __x) noexcept(true);
9762# 110
9763extern long double modfl(long double __x, long double * __iptr) noexcept(true); extern long double __modfl(long double __x, long double * __iptr) noexcept(true) __attribute((__nonnull__(2)));
9764# 114
9765extern long double exp10l(long double __x) noexcept(true); extern long double __exp10l(long double __x) noexcept(true);
9766# 119
9767extern long double expm1l(long double __x) noexcept(true); extern long double __expm1l(long double __x) noexcept(true);
9768# 122
9769extern long double log1pl(long double __x) noexcept(true); extern long double __log1pl(long double __x) noexcept(true);
9770# 125
9771extern long double logbl(long double __x) noexcept(true); extern long double __logbl(long double __x) noexcept(true);
9772# 130
9773extern long double exp2l(long double __x) noexcept(true); extern long double __exp2l(long double __x) noexcept(true);
9774# 133
9775extern long double log2l(long double __x) noexcept(true); extern long double __log2l(long double __x) noexcept(true);
9776# 140
9777extern long double powl(long double __x, long double __y) noexcept(true); extern long double __powl(long double __x, long double __y) noexcept(true);
9778# 143
9779extern long double sqrtl(long double __x) noexcept(true); extern long double __sqrtl(long double __x) noexcept(true);
9780# 147
9781extern long double hypotl(long double __x, long double __y) noexcept(true); extern long double __hypotl(long double __x, long double __y) noexcept(true);
9782# 152
9783extern long double cbrtl(long double __x) noexcept(true); extern long double __cbrtl(long double __x) noexcept(true);
9784# 159
9785extern long double ceill(long double __x) noexcept(true) __attribute((const)); extern long double __ceill(long double __x) noexcept(true) __attribute((const));
9786# 162
9787extern long double fabsl(long double __x) noexcept(true) __attribute((const)); extern long double __fabsl(long double __x) noexcept(true) __attribute((const));
9788# 165
9789extern long double floorl(long double __x) noexcept(true) __attribute((const)); extern long double __floorl(long double __x) noexcept(true) __attribute((const));
9790# 168
9791extern long double fmodl(long double __x, long double __y) noexcept(true); extern long double __fmodl(long double __x, long double __y) noexcept(true);
9792# 177 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9793extern int isinfl(long double __value) noexcept(true)
9794# 178
9795 __attribute((const));
9796# 183
9797extern int finitel(long double __value) noexcept(true)
9798# 184
9799 __attribute((const));
9800# 187
9801extern long double dreml(long double __x, long double __y) noexcept(true); extern long double __dreml(long double __x, long double __y) noexcept(true);
9802# 191
9803extern long double significandl(long double __x) noexcept(true); extern long double __significandl(long double __x) noexcept(true);
9804# 198
9805extern long double copysignl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __copysignl(long double __x, long double __y) noexcept(true) __attribute((const));
9806# 203
9807extern long double nanl(const char * __tagb) noexcept(true); extern long double __nanl(const char * __tagb) noexcept(true);
9808# 213 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9809extern int isnanl(long double __value) noexcept(true)
9810# 214
9811 __attribute((const));
9812# 220
9813extern long double j0l(long double) noexcept(true); extern long double __j0l(long double) noexcept(true);
9814# 221
9815extern long double j1l(long double) noexcept(true); extern long double __j1l(long double) noexcept(true);
9816# 222
9817extern long double jnl(int, long double) noexcept(true); extern long double __jnl(int, long double) noexcept(true);
9818# 223
9819extern long double y0l(long double) noexcept(true); extern long double __y0l(long double) noexcept(true);
9820# 224
9821extern long double y1l(long double) noexcept(true); extern long double __y1l(long double) noexcept(true);
9822# 225
9823extern long double ynl(int, long double) noexcept(true); extern long double __ynl(int, long double) noexcept(true);
9824# 231
9825extern long double erfl(long double) noexcept(true); extern long double __erfl(long double) noexcept(true);
9826# 232
9827extern long double erfcl(long double) noexcept(true); extern long double __erfcl(long double) noexcept(true);
9828# 233
9829extern long double lgammal(long double) noexcept(true); extern long double __lgammal(long double) noexcept(true);
9830# 238
9831extern long double tgammal(long double) noexcept(true); extern long double __tgammal(long double) noexcept(true);
9832# 244
9833extern long double gammal(long double) noexcept(true); extern long double __gammal(long double) noexcept(true);
9834# 252
9835extern long double lgammal_r(long double, int * __signgamp) noexcept(true); extern long double __lgammal_r(long double, int * __signgamp) noexcept(true);
9836# 259
9837extern long double rintl(long double __x) noexcept(true); extern long double __rintl(long double __x) noexcept(true);
9838# 262
9839extern long double nextafterl(long double __x, long double __y) noexcept(true); extern long double __nextafterl(long double __x, long double __y) noexcept(true);
9840# 264
9841extern long double nexttowardl(long double __x, long double __y) noexcept(true); extern long double __nexttowardl(long double __x, long double __y) noexcept(true);
9842# 269
9843extern long double nextdownl(long double __x) noexcept(true); extern long double __nextdownl(long double __x) noexcept(true);
9844# 271
9845extern long double nextupl(long double __x) noexcept(true); extern long double __nextupl(long double __x) noexcept(true);
9846# 275
9847extern long double remainderl(long double __x, long double __y) noexcept(true); extern long double __remainderl(long double __x, long double __y) noexcept(true);
9848# 279
9849extern long double scalbnl(long double __x, int __n) noexcept(true); extern long double __scalbnl(long double __x, int __n) noexcept(true);
9850# 283
9851extern int ilogbl(long double __x) noexcept(true); extern int __ilogbl(long double __x) noexcept(true);
9852# 288
9853extern long llogbl(long double __x) noexcept(true); extern long __llogbl(long double __x) noexcept(true);
9854# 293
9855extern long double scalblnl(long double __x, long __n) noexcept(true); extern long double __scalblnl(long double __x, long __n) noexcept(true);
9856# 297
9857extern long double nearbyintl(long double __x) noexcept(true); extern long double __nearbyintl(long double __x) noexcept(true);
9858# 301
9859extern long double roundl(long double __x) noexcept(true) __attribute((const)); extern long double __roundl(long double __x) noexcept(true) __attribute((const));
9860# 305
9861extern long double truncl(long double __x) noexcept(true) __attribute((const)); extern long double __truncl(long double __x) noexcept(true) __attribute((const));
9862# 310
9863extern long double remquol(long double __x, long double __y, int * __quo) noexcept(true); extern long double __remquol(long double __x, long double __y, int * __quo) noexcept(true);
9864# 317
9865extern long lrintl(long double __x) noexcept(true); extern long __lrintl(long double __x) noexcept(true);
9866# 319
9867__extension__ extern long long llrintl(long double __x) noexcept(true); extern long long __llrintl(long double __x) noexcept(true);
9868# 323
9869extern long lroundl(long double __x) noexcept(true); extern long __lroundl(long double __x) noexcept(true);
9870# 325
9871__extension__ extern long long llroundl(long double __x) noexcept(true); extern long long __llroundl(long double __x) noexcept(true);
9872# 329
9873extern long double fdiml(long double __x, long double __y) noexcept(true); extern long double __fdiml(long double __x, long double __y) noexcept(true);
9874# 333
9875extern long double fmaxl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaxl(long double __x, long double __y) noexcept(true) __attribute((const));
9876# 336
9877extern long double fminl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminl(long double __x, long double __y) noexcept(true) __attribute((const));
9878# 340
9879extern long double fmal(long double __x, long double __y, long double __z) noexcept(true); extern long double __fmal(long double __x, long double __y, long double __z) noexcept(true);
9880# 345
9881extern long double roundevenl(long double __x) noexcept(true) __attribute((const)); extern long double __roundevenl(long double __x) noexcept(true) __attribute((const));
9882# 349
9883extern __intmax_t fromfpl(long double __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpl(long double __x, int __round, unsigned __width) noexcept(true);
9884# 354
9885extern __uintmax_t ufromfpl(long double __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpl(long double __x, int __round, unsigned __width) noexcept(true);
9886# 360
9887extern __intmax_t fromfpxl(long double __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxl(long double __x, int __round, unsigned __width) noexcept(true);
9888# 366
9889extern __uintmax_t ufromfpxl(long double __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxl(long double __x, int __round, unsigned __width) noexcept(true);
9890# 370
9891extern int canonicalizel(long double * __cx, const long double * __x) noexcept(true);
9892# 377
9893extern long double fmaxmagl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaxmagl(long double __x, long double __y) noexcept(true) __attribute((const));
9894# 380
9895extern long double fminmagl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminmagl(long double __x, long double __y) noexcept(true) __attribute((const));
9896# 385
9897extern long double fmaximuml(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaximuml(long double __x, long double __y) noexcept(true) __attribute((const));
9898# 388
9899extern long double fminimuml(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminimuml(long double __x, long double __y) noexcept(true) __attribute((const));
9900# 391
9901extern long double fmaximum_numl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaximum_numl(long double __x, long double __y) noexcept(true) __attribute((const));
9902# 394
9903extern long double fminimum_numl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminimum_numl(long double __x, long double __y) noexcept(true) __attribute((const));
9904# 397
9905extern long double fmaximum_magl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaximum_magl(long double __x, long double __y) noexcept(true) __attribute((const));
9906# 400
9907extern long double fminimum_magl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminimum_magl(long double __x, long double __y) noexcept(true) __attribute((const));
9908# 403
9909extern long double fmaximum_mag_numl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fmaximum_mag_numl(long double __x, long double __y) noexcept(true) __attribute((const));
9910# 406
9911extern long double fminimum_mag_numl(long double __x, long double __y) noexcept(true) __attribute((const)); extern long double __fminimum_mag_numl(long double __x, long double __y) noexcept(true) __attribute((const));
9912# 411
9913extern int totalorderl(const long double * __x, const long double * __y) noexcept(true)
9914# 413
9915 __attribute((__pure__));
9916# 416
9917extern int totalordermagl(const long double * __x, const long double * __y) noexcept(true)
9918# 418
9919 __attribute((__pure__));
9920# 421
9921extern long double getpayloadl(const long double * __x) noexcept(true); extern long double __getpayloadl(const long double * __x) noexcept(true);
9922# 424
9923extern int setpayloadl(long double * __x, long double __payload) noexcept(true);
9924# 427
9925extern int setpayloadsigl(long double * __x, long double __payload) noexcept(true);
9926# 435
9927extern long double scalbl(long double __x, long double __n) noexcept(true); extern long double __scalbl(long double __x, long double __n) noexcept(true);
9928# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9929extern _Float32 acosf32(_Float32 __x) noexcept(true); extern _Float32 __acosf32(_Float32 __x) noexcept(true);
9930# 55
9931extern _Float32 asinf32(_Float32 __x) noexcept(true); extern _Float32 __asinf32(_Float32 __x) noexcept(true);
9932# 57
9933extern _Float32 atanf32(_Float32 __x) noexcept(true); extern _Float32 __atanf32(_Float32 __x) noexcept(true);
9934# 59
9935extern _Float32 atan2f32(_Float32 __y, _Float32 __x) noexcept(true); extern _Float32 __atan2f32(_Float32 __y, _Float32 __x) noexcept(true);
9936# 62
9937extern _Float32 cosf32(_Float32 __x) noexcept(true); extern _Float32 __cosf32(_Float32 __x) noexcept(true);
9938# 64
9939extern _Float32 sinf32(_Float32 __x) noexcept(true); extern _Float32 __sinf32(_Float32 __x) noexcept(true);
9940# 66
9941extern _Float32 tanf32(_Float32 __x) noexcept(true); extern _Float32 __tanf32(_Float32 __x) noexcept(true);
9942# 71
9943extern _Float32 coshf32(_Float32 __x) noexcept(true); extern _Float32 __coshf32(_Float32 __x) noexcept(true);
9944# 73
9945extern _Float32 sinhf32(_Float32 __x) noexcept(true); extern _Float32 __sinhf32(_Float32 __x) noexcept(true);
9946# 75
9947extern _Float32 tanhf32(_Float32 __x) noexcept(true); extern _Float32 __tanhf32(_Float32 __x) noexcept(true);
9948# 79
9949extern void sincosf32(_Float32 __x, _Float32 * __sinx, _Float32 * __cosx) noexcept(true); extern void __sincosf32(_Float32 __x, _Float32 * __sinx, _Float32 * __cosx) noexcept(true);
9950# 85
9951extern _Float32 acoshf32(_Float32 __x) noexcept(true); extern _Float32 __acoshf32(_Float32 __x) noexcept(true);
9952# 87
9953extern _Float32 asinhf32(_Float32 __x) noexcept(true); extern _Float32 __asinhf32(_Float32 __x) noexcept(true);
9954# 89
9955extern _Float32 atanhf32(_Float32 __x) noexcept(true); extern _Float32 __atanhf32(_Float32 __x) noexcept(true);
9956# 95
9957extern _Float32 expf32(_Float32 __x) noexcept(true); extern _Float32 __expf32(_Float32 __x) noexcept(true);
9958# 98
9959extern _Float32 frexpf32(_Float32 __x, int * __exponent) noexcept(true); extern _Float32 __frexpf32(_Float32 __x, int * __exponent) noexcept(true);
9960# 101
9961extern _Float32 ldexpf32(_Float32 __x, int __exponent) noexcept(true); extern _Float32 __ldexpf32(_Float32 __x, int __exponent) noexcept(true);
9962# 104
9963extern _Float32 logf32(_Float32 __x) noexcept(true); extern _Float32 __logf32(_Float32 __x) noexcept(true);
9964# 107
9965extern _Float32 log10f32(_Float32 __x) noexcept(true); extern _Float32 __log10f32(_Float32 __x) noexcept(true);
9966# 110
9967extern _Float32 modff32(_Float32 __x, _Float32 * __iptr) noexcept(true); extern _Float32 __modff32(_Float32 __x, _Float32 * __iptr) noexcept(true) __attribute((__nonnull__(2)));
9968# 114
9969extern _Float32 exp10f32(_Float32 __x) noexcept(true); extern _Float32 __exp10f32(_Float32 __x) noexcept(true);
9970# 119
9971extern _Float32 expm1f32(_Float32 __x) noexcept(true); extern _Float32 __expm1f32(_Float32 __x) noexcept(true);
9972# 122
9973extern _Float32 log1pf32(_Float32 __x) noexcept(true); extern _Float32 __log1pf32(_Float32 __x) noexcept(true);
9974# 125
9975extern _Float32 logbf32(_Float32 __x) noexcept(true); extern _Float32 __logbf32(_Float32 __x) noexcept(true);
9976# 130
9977extern _Float32 exp2f32(_Float32 __x) noexcept(true); extern _Float32 __exp2f32(_Float32 __x) noexcept(true);
9978# 133
9979extern _Float32 log2f32(_Float32 __x) noexcept(true); extern _Float32 __log2f32(_Float32 __x) noexcept(true);
9980# 140
9981extern _Float32 powf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __powf32(_Float32 __x, _Float32 __y) noexcept(true);
9982# 143
9983extern _Float32 sqrtf32(_Float32 __x) noexcept(true); extern _Float32 __sqrtf32(_Float32 __x) noexcept(true);
9984# 147
9985extern _Float32 hypotf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __hypotf32(_Float32 __x, _Float32 __y) noexcept(true);
9986# 152
9987extern _Float32 cbrtf32(_Float32 __x) noexcept(true); extern _Float32 __cbrtf32(_Float32 __x) noexcept(true);
9988# 159
9989extern _Float32 ceilf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __ceilf32(_Float32 __x) noexcept(true) __attribute((const));
9990# 162
9991extern _Float32 fabsf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __fabsf32(_Float32 __x) noexcept(true) __attribute((const));
9992# 165
9993extern _Float32 floorf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __floorf32(_Float32 __x) noexcept(true) __attribute((const));
9994# 168
9995extern _Float32 fmodf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __fmodf32(_Float32 __x, _Float32 __y) noexcept(true);
9996# 198 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
9997extern _Float32 copysignf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __copysignf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
9998# 203
9999extern _Float32 nanf32(const char * __tagb) noexcept(true); extern _Float32 __nanf32(const char * __tagb) noexcept(true);
10000# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10001extern _Float32 j0f32(_Float32) noexcept(true); extern _Float32 __j0f32(_Float32) noexcept(true);
10002# 221
10003extern _Float32 j1f32(_Float32) noexcept(true); extern _Float32 __j1f32(_Float32) noexcept(true);
10004# 222
10005extern _Float32 jnf32(int, _Float32) noexcept(true); extern _Float32 __jnf32(int, _Float32) noexcept(true);
10006# 223
10007extern _Float32 y0f32(_Float32) noexcept(true); extern _Float32 __y0f32(_Float32) noexcept(true);
10008# 224
10009extern _Float32 y1f32(_Float32) noexcept(true); extern _Float32 __y1f32(_Float32) noexcept(true);
10010# 225
10011extern _Float32 ynf32(int, _Float32) noexcept(true); extern _Float32 __ynf32(int, _Float32) noexcept(true);
10012# 231
10013extern _Float32 erff32(_Float32) noexcept(true); extern _Float32 __erff32(_Float32) noexcept(true);
10014# 232
10015extern _Float32 erfcf32(_Float32) noexcept(true); extern _Float32 __erfcf32(_Float32) noexcept(true);
10016# 233
10017extern _Float32 lgammaf32(_Float32) noexcept(true); extern _Float32 __lgammaf32(_Float32) noexcept(true);
10018# 238
10019extern _Float32 tgammaf32(_Float32) noexcept(true); extern _Float32 __tgammaf32(_Float32) noexcept(true);
10020# 252 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10021extern _Float32 lgammaf32_r(_Float32, int * __signgamp) noexcept(true); extern _Float32 __lgammaf32_r(_Float32, int * __signgamp) noexcept(true);
10022# 259
10023extern _Float32 rintf32(_Float32 __x) noexcept(true); extern _Float32 __rintf32(_Float32 __x) noexcept(true);
10024# 262
10025extern _Float32 nextafterf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __nextafterf32(_Float32 __x, _Float32 __y) noexcept(true);
10026# 269
10027extern _Float32 nextdownf32(_Float32 __x) noexcept(true); extern _Float32 __nextdownf32(_Float32 __x) noexcept(true);
10028# 271
10029extern _Float32 nextupf32(_Float32 __x) noexcept(true); extern _Float32 __nextupf32(_Float32 __x) noexcept(true);
10030# 275
10031extern _Float32 remainderf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __remainderf32(_Float32 __x, _Float32 __y) noexcept(true);
10032# 279
10033extern _Float32 scalbnf32(_Float32 __x, int __n) noexcept(true); extern _Float32 __scalbnf32(_Float32 __x, int __n) noexcept(true);
10034# 283
10035extern int ilogbf32(_Float32 __x) noexcept(true); extern int __ilogbf32(_Float32 __x) noexcept(true);
10036# 288
10037extern long llogbf32(_Float32 __x) noexcept(true); extern long __llogbf32(_Float32 __x) noexcept(true);
10038# 293
10039extern _Float32 scalblnf32(_Float32 __x, long __n) noexcept(true); extern _Float32 __scalblnf32(_Float32 __x, long __n) noexcept(true);
10040# 297
10041extern _Float32 nearbyintf32(_Float32 __x) noexcept(true); extern _Float32 __nearbyintf32(_Float32 __x) noexcept(true);
10042# 301
10043extern _Float32 roundf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __roundf32(_Float32 __x) noexcept(true) __attribute((const));
10044# 305
10045extern _Float32 truncf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __truncf32(_Float32 __x) noexcept(true) __attribute((const));
10046# 310
10047extern _Float32 remquof32(_Float32 __x, _Float32 __y, int * __quo) noexcept(true); extern _Float32 __remquof32(_Float32 __x, _Float32 __y, int * __quo) noexcept(true);
10048# 317
10049extern long lrintf32(_Float32 __x) noexcept(true); extern long __lrintf32(_Float32 __x) noexcept(true);
10050# 319
10051__extension__ extern long long llrintf32(_Float32 __x) noexcept(true); extern long long __llrintf32(_Float32 __x) noexcept(true);
10052# 323
10053extern long lroundf32(_Float32 __x) noexcept(true); extern long __lroundf32(_Float32 __x) noexcept(true);
10054# 325
10055__extension__ extern long long llroundf32(_Float32 __x) noexcept(true); extern long long __llroundf32(_Float32 __x) noexcept(true);
10056# 329
10057extern _Float32 fdimf32(_Float32 __x, _Float32 __y) noexcept(true); extern _Float32 __fdimf32(_Float32 __x, _Float32 __y) noexcept(true);
10058# 333
10059extern _Float32 fmaxf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaxf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10060# 336
10061extern _Float32 fminf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10062# 340
10063extern _Float32 fmaf32(_Float32 __x, _Float32 __y, _Float32 __z) noexcept(true); extern _Float32 __fmaf32(_Float32 __x, _Float32 __y, _Float32 __z) noexcept(true);
10064# 345
10065extern _Float32 roundevenf32(_Float32 __x) noexcept(true) __attribute((const)); extern _Float32 __roundevenf32(_Float32 __x) noexcept(true) __attribute((const));
10066# 349
10067extern __intmax_t fromfpf32(_Float32 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf32(_Float32 __x, int __round, unsigned __width) noexcept(true);
10068# 354
10069extern __uintmax_t ufromfpf32(_Float32 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf32(_Float32 __x, int __round, unsigned __width) noexcept(true);
10070# 360
10071extern __intmax_t fromfpxf32(_Float32 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf32(_Float32 __x, int __round, unsigned __width) noexcept(true);
10072# 366
10073extern __uintmax_t ufromfpxf32(_Float32 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf32(_Float32 __x, int __round, unsigned __width) noexcept(true);
10074# 370
10075extern int canonicalizef32(_Float32 * __cx, const _Float32 * __x) noexcept(true);
10076# 377
10077extern _Float32 fmaxmagf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaxmagf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10078# 380
10079extern _Float32 fminmagf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminmagf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10080# 385
10081extern _Float32 fmaximumf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaximumf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10082# 388
10083extern _Float32 fminimumf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminimumf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10084# 391
10085extern _Float32 fmaximum_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaximum_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10086# 394
10087extern _Float32 fminimum_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminimum_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10088# 397
10089extern _Float32 fmaximum_magf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaximum_magf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10090# 400
10091extern _Float32 fminimum_magf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminimum_magf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10092# 403
10093extern _Float32 fmaximum_mag_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fmaximum_mag_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10094# 406
10095extern _Float32 fminimum_mag_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const)); extern _Float32 __fminimum_mag_numf32(_Float32 __x, _Float32 __y) noexcept(true) __attribute((const));
10096# 411
10097extern int totalorderf32(const _Float32 * __x, const _Float32 * __y) noexcept(true)
10098# 413
10099 __attribute((__pure__));
10100# 416
10101extern int totalordermagf32(const _Float32 * __x, const _Float32 * __y) noexcept(true)
10102# 418
10103 __attribute((__pure__));
10104# 421
10105extern _Float32 getpayloadf32(const _Float32 * __x) noexcept(true); extern _Float32 __getpayloadf32(const _Float32 * __x) noexcept(true);
10106# 424
10107extern int setpayloadf32(_Float32 * __x, _Float32 __payload) noexcept(true);
10108# 427
10109extern int setpayloadsigf32(_Float32 * __x, _Float32 __payload) noexcept(true);
10110# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10111extern _Float64 acosf64(_Float64 __x) noexcept(true); extern _Float64 __acosf64(_Float64 __x) noexcept(true);
10112# 55
10113extern _Float64 asinf64(_Float64 __x) noexcept(true); extern _Float64 __asinf64(_Float64 __x) noexcept(true);
10114# 57
10115extern _Float64 atanf64(_Float64 __x) noexcept(true); extern _Float64 __atanf64(_Float64 __x) noexcept(true);
10116# 59
10117extern _Float64 atan2f64(_Float64 __y, _Float64 __x) noexcept(true); extern _Float64 __atan2f64(_Float64 __y, _Float64 __x) noexcept(true);
10118# 62
10119extern _Float64 cosf64(_Float64 __x) noexcept(true); extern _Float64 __cosf64(_Float64 __x) noexcept(true);
10120# 64
10121extern _Float64 sinf64(_Float64 __x) noexcept(true); extern _Float64 __sinf64(_Float64 __x) noexcept(true);
10122# 66
10123extern _Float64 tanf64(_Float64 __x) noexcept(true); extern _Float64 __tanf64(_Float64 __x) noexcept(true);
10124# 71
10125extern _Float64 coshf64(_Float64 __x) noexcept(true); extern _Float64 __coshf64(_Float64 __x) noexcept(true);
10126# 73
10127extern _Float64 sinhf64(_Float64 __x) noexcept(true); extern _Float64 __sinhf64(_Float64 __x) noexcept(true);
10128# 75
10129extern _Float64 tanhf64(_Float64 __x) noexcept(true); extern _Float64 __tanhf64(_Float64 __x) noexcept(true);
10130# 79
10131extern void sincosf64(_Float64 __x, _Float64 * __sinx, _Float64 * __cosx) noexcept(true); extern void __sincosf64(_Float64 __x, _Float64 * __sinx, _Float64 * __cosx) noexcept(true);
10132# 85
10133extern _Float64 acoshf64(_Float64 __x) noexcept(true); extern _Float64 __acoshf64(_Float64 __x) noexcept(true);
10134# 87
10135extern _Float64 asinhf64(_Float64 __x) noexcept(true); extern _Float64 __asinhf64(_Float64 __x) noexcept(true);
10136# 89
10137extern _Float64 atanhf64(_Float64 __x) noexcept(true); extern _Float64 __atanhf64(_Float64 __x) noexcept(true);
10138# 95
10139extern _Float64 expf64(_Float64 __x) noexcept(true); extern _Float64 __expf64(_Float64 __x) noexcept(true);
10140# 98
10141extern _Float64 frexpf64(_Float64 __x, int * __exponent) noexcept(true); extern _Float64 __frexpf64(_Float64 __x, int * __exponent) noexcept(true);
10142# 101
10143extern _Float64 ldexpf64(_Float64 __x, int __exponent) noexcept(true); extern _Float64 __ldexpf64(_Float64 __x, int __exponent) noexcept(true);
10144# 104
10145extern _Float64 logf64(_Float64 __x) noexcept(true); extern _Float64 __logf64(_Float64 __x) noexcept(true);
10146# 107
10147extern _Float64 log10f64(_Float64 __x) noexcept(true); extern _Float64 __log10f64(_Float64 __x) noexcept(true);
10148# 110
10149extern _Float64 modff64(_Float64 __x, _Float64 * __iptr) noexcept(true); extern _Float64 __modff64(_Float64 __x, _Float64 * __iptr) noexcept(true) __attribute((__nonnull__(2)));
10150# 114
10151extern _Float64 exp10f64(_Float64 __x) noexcept(true); extern _Float64 __exp10f64(_Float64 __x) noexcept(true);
10152# 119
10153extern _Float64 expm1f64(_Float64 __x) noexcept(true); extern _Float64 __expm1f64(_Float64 __x) noexcept(true);
10154# 122
10155extern _Float64 log1pf64(_Float64 __x) noexcept(true); extern _Float64 __log1pf64(_Float64 __x) noexcept(true);
10156# 125
10157extern _Float64 logbf64(_Float64 __x) noexcept(true); extern _Float64 __logbf64(_Float64 __x) noexcept(true);
10158# 130
10159extern _Float64 exp2f64(_Float64 __x) noexcept(true); extern _Float64 __exp2f64(_Float64 __x) noexcept(true);
10160# 133
10161extern _Float64 log2f64(_Float64 __x) noexcept(true); extern _Float64 __log2f64(_Float64 __x) noexcept(true);
10162# 140
10163extern _Float64 powf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __powf64(_Float64 __x, _Float64 __y) noexcept(true);
10164# 143
10165extern _Float64 sqrtf64(_Float64 __x) noexcept(true); extern _Float64 __sqrtf64(_Float64 __x) noexcept(true);
10166# 147
10167extern _Float64 hypotf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __hypotf64(_Float64 __x, _Float64 __y) noexcept(true);
10168# 152
10169extern _Float64 cbrtf64(_Float64 __x) noexcept(true); extern _Float64 __cbrtf64(_Float64 __x) noexcept(true);
10170# 159
10171extern _Float64 ceilf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __ceilf64(_Float64 __x) noexcept(true) __attribute((const));
10172# 162
10173extern _Float64 fabsf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __fabsf64(_Float64 __x) noexcept(true) __attribute((const));
10174# 165
10175extern _Float64 floorf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __floorf64(_Float64 __x) noexcept(true) __attribute((const));
10176# 168
10177extern _Float64 fmodf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __fmodf64(_Float64 __x, _Float64 __y) noexcept(true);
10178# 198 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10179extern _Float64 copysignf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __copysignf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10180# 203
10181extern _Float64 nanf64(const char * __tagb) noexcept(true); extern _Float64 __nanf64(const char * __tagb) noexcept(true);
10182# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10183extern _Float64 j0f64(_Float64) noexcept(true); extern _Float64 __j0f64(_Float64) noexcept(true);
10184# 221
10185extern _Float64 j1f64(_Float64) noexcept(true); extern _Float64 __j1f64(_Float64) noexcept(true);
10186# 222
10187extern _Float64 jnf64(int, _Float64) noexcept(true); extern _Float64 __jnf64(int, _Float64) noexcept(true);
10188# 223
10189extern _Float64 y0f64(_Float64) noexcept(true); extern _Float64 __y0f64(_Float64) noexcept(true);
10190# 224
10191extern _Float64 y1f64(_Float64) noexcept(true); extern _Float64 __y1f64(_Float64) noexcept(true);
10192# 225
10193extern _Float64 ynf64(int, _Float64) noexcept(true); extern _Float64 __ynf64(int, _Float64) noexcept(true);
10194# 231
10195extern _Float64 erff64(_Float64) noexcept(true); extern _Float64 __erff64(_Float64) noexcept(true);
10196# 232
10197extern _Float64 erfcf64(_Float64) noexcept(true); extern _Float64 __erfcf64(_Float64) noexcept(true);
10198# 233
10199extern _Float64 lgammaf64(_Float64) noexcept(true); extern _Float64 __lgammaf64(_Float64) noexcept(true);
10200# 238
10201extern _Float64 tgammaf64(_Float64) noexcept(true); extern _Float64 __tgammaf64(_Float64) noexcept(true);
10202# 252 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10203extern _Float64 lgammaf64_r(_Float64, int * __signgamp) noexcept(true); extern _Float64 __lgammaf64_r(_Float64, int * __signgamp) noexcept(true);
10204# 259
10205extern _Float64 rintf64(_Float64 __x) noexcept(true); extern _Float64 __rintf64(_Float64 __x) noexcept(true);
10206# 262
10207extern _Float64 nextafterf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __nextafterf64(_Float64 __x, _Float64 __y) noexcept(true);
10208# 269
10209extern _Float64 nextdownf64(_Float64 __x) noexcept(true); extern _Float64 __nextdownf64(_Float64 __x) noexcept(true);
10210# 271
10211extern _Float64 nextupf64(_Float64 __x) noexcept(true); extern _Float64 __nextupf64(_Float64 __x) noexcept(true);
10212# 275
10213extern _Float64 remainderf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __remainderf64(_Float64 __x, _Float64 __y) noexcept(true);
10214# 279
10215extern _Float64 scalbnf64(_Float64 __x, int __n) noexcept(true); extern _Float64 __scalbnf64(_Float64 __x, int __n) noexcept(true);
10216# 283
10217extern int ilogbf64(_Float64 __x) noexcept(true); extern int __ilogbf64(_Float64 __x) noexcept(true);
10218# 288
10219extern long llogbf64(_Float64 __x) noexcept(true); extern long __llogbf64(_Float64 __x) noexcept(true);
10220# 293
10221extern _Float64 scalblnf64(_Float64 __x, long __n) noexcept(true); extern _Float64 __scalblnf64(_Float64 __x, long __n) noexcept(true);
10222# 297
10223extern _Float64 nearbyintf64(_Float64 __x) noexcept(true); extern _Float64 __nearbyintf64(_Float64 __x) noexcept(true);
10224# 301
10225extern _Float64 roundf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __roundf64(_Float64 __x) noexcept(true) __attribute((const));
10226# 305
10227extern _Float64 truncf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __truncf64(_Float64 __x) noexcept(true) __attribute((const));
10228# 310
10229extern _Float64 remquof64(_Float64 __x, _Float64 __y, int * __quo) noexcept(true); extern _Float64 __remquof64(_Float64 __x, _Float64 __y, int * __quo) noexcept(true);
10230# 317
10231extern long lrintf64(_Float64 __x) noexcept(true); extern long __lrintf64(_Float64 __x) noexcept(true);
10232# 319
10233__extension__ extern long long llrintf64(_Float64 __x) noexcept(true); extern long long __llrintf64(_Float64 __x) noexcept(true);
10234# 323
10235extern long lroundf64(_Float64 __x) noexcept(true); extern long __lroundf64(_Float64 __x) noexcept(true);
10236# 325
10237__extension__ extern long long llroundf64(_Float64 __x) noexcept(true); extern long long __llroundf64(_Float64 __x) noexcept(true);
10238# 329
10239extern _Float64 fdimf64(_Float64 __x, _Float64 __y) noexcept(true); extern _Float64 __fdimf64(_Float64 __x, _Float64 __y) noexcept(true);
10240# 333
10241extern _Float64 fmaxf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaxf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10242# 336
10243extern _Float64 fminf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10244# 340
10245extern _Float64 fmaf64(_Float64 __x, _Float64 __y, _Float64 __z) noexcept(true); extern _Float64 __fmaf64(_Float64 __x, _Float64 __y, _Float64 __z) noexcept(true);
10246# 345
10247extern _Float64 roundevenf64(_Float64 __x) noexcept(true) __attribute((const)); extern _Float64 __roundevenf64(_Float64 __x) noexcept(true) __attribute((const));
10248# 349
10249extern __intmax_t fromfpf64(_Float64 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf64(_Float64 __x, int __round, unsigned __width) noexcept(true);
10250# 354
10251extern __uintmax_t ufromfpf64(_Float64 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf64(_Float64 __x, int __round, unsigned __width) noexcept(true);
10252# 360
10253extern __intmax_t fromfpxf64(_Float64 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf64(_Float64 __x, int __round, unsigned __width) noexcept(true);
10254# 366
10255extern __uintmax_t ufromfpxf64(_Float64 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf64(_Float64 __x, int __round, unsigned __width) noexcept(true);
10256# 370
10257extern int canonicalizef64(_Float64 * __cx, const _Float64 * __x) noexcept(true);
10258# 377
10259extern _Float64 fmaxmagf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaxmagf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10260# 380
10261extern _Float64 fminmagf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminmagf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10262# 385
10263extern _Float64 fmaximumf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaximumf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10264# 388
10265extern _Float64 fminimumf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminimumf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10266# 391
10267extern _Float64 fmaximum_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaximum_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10268# 394
10269extern _Float64 fminimum_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminimum_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10270# 397
10271extern _Float64 fmaximum_magf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaximum_magf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10272# 400
10273extern _Float64 fminimum_magf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminimum_magf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10274# 403
10275extern _Float64 fmaximum_mag_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fmaximum_mag_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10276# 406
10277extern _Float64 fminimum_mag_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const)); extern _Float64 __fminimum_mag_numf64(_Float64 __x, _Float64 __y) noexcept(true) __attribute((const));
10278# 411
10279extern int totalorderf64(const _Float64 * __x, const _Float64 * __y) noexcept(true)
10280# 413
10281 __attribute((__pure__));
10282# 416
10283extern int totalordermagf64(const _Float64 * __x, const _Float64 * __y) noexcept(true)
10284# 418
10285 __attribute((__pure__));
10286# 421
10287extern _Float64 getpayloadf64(const _Float64 * __x) noexcept(true); extern _Float64 __getpayloadf64(const _Float64 * __x) noexcept(true);
10288# 424
10289extern int setpayloadf64(_Float64 * __x, _Float64 __payload) noexcept(true);
10290# 427
10291extern int setpayloadsigf64(_Float64 * __x, _Float64 __payload) noexcept(true);
10292# 20 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3
10293extern int __fpclassifyf128(_Float128 __value) noexcept(true)
10294# 21
10295 __attribute((const));
10296# 24
10297extern int __signbitf128(_Float128 __value) noexcept(true)
10298# 25
10299 __attribute((const));
10300# 29
10301extern int __isinff128(_Float128 __value) noexcept(true)
10302# 30
10303 __attribute((const));
10304# 33
10305extern int __finitef128(_Float128 __value) noexcept(true)
10306# 34
10307 __attribute((const));
10308# 37
10309extern int __isnanf128(_Float128 __value) noexcept(true)
10310# 38
10311 __attribute((const));
10312# 41
10313extern int __iseqsigf128(_Float128 __x, _Float128 __y) noexcept(true);
10314# 44
10315extern int __issignalingf128(_Float128 __value) noexcept(true)
10316# 45
10317 __attribute((const));
10318# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10319extern _Float128 acosf128(_Float128 __x) noexcept(true); extern _Float128 __acosf128(_Float128 __x) noexcept(true);
10320# 55
10321extern _Float128 asinf128(_Float128 __x) noexcept(true); extern _Float128 __asinf128(_Float128 __x) noexcept(true);
10322# 57
10323extern _Float128 atanf128(_Float128 __x) noexcept(true); extern _Float128 __atanf128(_Float128 __x) noexcept(true);
10324# 59
10325extern _Float128 atan2f128(_Float128 __y, _Float128 __x) noexcept(true); extern _Float128 __atan2f128(_Float128 __y, _Float128 __x) noexcept(true);
10326# 62
10327extern _Float128 cosf128(_Float128 __x) noexcept(true); extern _Float128 __cosf128(_Float128 __x) noexcept(true);
10328# 64
10329extern _Float128 sinf128(_Float128 __x) noexcept(true); extern _Float128 __sinf128(_Float128 __x) noexcept(true);
10330# 66
10331extern _Float128 tanf128(_Float128 __x) noexcept(true); extern _Float128 __tanf128(_Float128 __x) noexcept(true);
10332# 71
10333extern _Float128 coshf128(_Float128 __x) noexcept(true); extern _Float128 __coshf128(_Float128 __x) noexcept(true);
10334# 73
10335extern _Float128 sinhf128(_Float128 __x) noexcept(true); extern _Float128 __sinhf128(_Float128 __x) noexcept(true);
10336# 75
10337extern _Float128 tanhf128(_Float128 __x) noexcept(true); extern _Float128 __tanhf128(_Float128 __x) noexcept(true);
10338# 79
10339extern void sincosf128(_Float128 __x, _Float128 * __sinx, _Float128 * __cosx) noexcept(true); extern void __sincosf128(_Float128 __x, _Float128 * __sinx, _Float128 * __cosx) noexcept(true);
10340# 85
10341extern _Float128 acoshf128(_Float128 __x) noexcept(true); extern _Float128 __acoshf128(_Float128 __x) noexcept(true);
10342# 87
10343extern _Float128 asinhf128(_Float128 __x) noexcept(true); extern _Float128 __asinhf128(_Float128 __x) noexcept(true);
10344# 89
10345extern _Float128 atanhf128(_Float128 __x) noexcept(true); extern _Float128 __atanhf128(_Float128 __x) noexcept(true);
10346# 95
10347extern _Float128 expf128(_Float128 __x) noexcept(true); extern _Float128 __expf128(_Float128 __x) noexcept(true);
10348# 98
10349extern _Float128 frexpf128(_Float128 __x, int * __exponent) noexcept(true); extern _Float128 __frexpf128(_Float128 __x, int * __exponent) noexcept(true);
10350# 101
10351extern _Float128 ldexpf128(_Float128 __x, int __exponent) noexcept(true); extern _Float128 __ldexpf128(_Float128 __x, int __exponent) noexcept(true);
10352# 104
10353extern _Float128 logf128(_Float128 __x) noexcept(true); extern _Float128 __logf128(_Float128 __x) noexcept(true);
10354# 107
10355extern _Float128 log10f128(_Float128 __x) noexcept(true); extern _Float128 __log10f128(_Float128 __x) noexcept(true);
10356# 110
10357extern _Float128 modff128(_Float128 __x, _Float128 * __iptr) noexcept(true); extern _Float128 __modff128(_Float128 __x, _Float128 * __iptr) noexcept(true) __attribute((__nonnull__(2)));
10358# 114
10359extern _Float128 exp10f128(_Float128 __x) noexcept(true); extern _Float128 __exp10f128(_Float128 __x) noexcept(true);
10360# 119
10361extern _Float128 expm1f128(_Float128 __x) noexcept(true); extern _Float128 __expm1f128(_Float128 __x) noexcept(true);
10362# 122
10363extern _Float128 log1pf128(_Float128 __x) noexcept(true); extern _Float128 __log1pf128(_Float128 __x) noexcept(true);
10364# 125
10365extern _Float128 logbf128(_Float128 __x) noexcept(true); extern _Float128 __logbf128(_Float128 __x) noexcept(true);
10366# 130
10367extern _Float128 exp2f128(_Float128 __x) noexcept(true); extern _Float128 __exp2f128(_Float128 __x) noexcept(true);
10368# 133
10369extern _Float128 log2f128(_Float128 __x) noexcept(true); extern _Float128 __log2f128(_Float128 __x) noexcept(true);
10370# 140
10371extern _Float128 powf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __powf128(_Float128 __x, _Float128 __y) noexcept(true);
10372# 143
10373extern _Float128 sqrtf128(_Float128 __x) noexcept(true); extern _Float128 __sqrtf128(_Float128 __x) noexcept(true);
10374# 147
10375extern _Float128 hypotf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __hypotf128(_Float128 __x, _Float128 __y) noexcept(true);
10376# 152
10377extern _Float128 cbrtf128(_Float128 __x) noexcept(true); extern _Float128 __cbrtf128(_Float128 __x) noexcept(true);
10378# 159
10379extern _Float128 ceilf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __ceilf128(_Float128 __x) noexcept(true) __attribute((const));
10380# 162
10381extern _Float128 fabsf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __fabsf128(_Float128 __x) noexcept(true) __attribute((const));
10382# 165
10383extern _Float128 floorf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __floorf128(_Float128 __x) noexcept(true) __attribute((const));
10384# 168
10385extern _Float128 fmodf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __fmodf128(_Float128 __x, _Float128 __y) noexcept(true);
10386# 198 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10387extern _Float128 copysignf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __copysignf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10388# 203
10389extern _Float128 nanf128(const char * __tagb) noexcept(true); extern _Float128 __nanf128(const char * __tagb) noexcept(true);
10390# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10391extern _Float128 j0f128(_Float128) noexcept(true); extern _Float128 __j0f128(_Float128) noexcept(true);
10392# 221
10393extern _Float128 j1f128(_Float128) noexcept(true); extern _Float128 __j1f128(_Float128) noexcept(true);
10394# 222
10395extern _Float128 jnf128(int, _Float128) noexcept(true); extern _Float128 __jnf128(int, _Float128) noexcept(true);
10396# 223
10397extern _Float128 y0f128(_Float128) noexcept(true); extern _Float128 __y0f128(_Float128) noexcept(true);
10398# 224
10399extern _Float128 y1f128(_Float128) noexcept(true); extern _Float128 __y1f128(_Float128) noexcept(true);
10400# 225
10401extern _Float128 ynf128(int, _Float128) noexcept(true); extern _Float128 __ynf128(int, _Float128) noexcept(true);
10402# 231
10403extern _Float128 erff128(_Float128) noexcept(true); extern _Float128 __erff128(_Float128) noexcept(true);
10404# 232
10405extern _Float128 erfcf128(_Float128) noexcept(true); extern _Float128 __erfcf128(_Float128) noexcept(true);
10406# 233
10407extern _Float128 lgammaf128(_Float128) noexcept(true); extern _Float128 __lgammaf128(_Float128) noexcept(true);
10408# 238
10409extern _Float128 tgammaf128(_Float128) noexcept(true); extern _Float128 __tgammaf128(_Float128) noexcept(true);
10410# 252 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10411extern _Float128 lgammaf128_r(_Float128, int * __signgamp) noexcept(true); extern _Float128 __lgammaf128_r(_Float128, int * __signgamp) noexcept(true);
10412# 259
10413extern _Float128 rintf128(_Float128 __x) noexcept(true); extern _Float128 __rintf128(_Float128 __x) noexcept(true);
10414# 262
10415extern _Float128 nextafterf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __nextafterf128(_Float128 __x, _Float128 __y) noexcept(true);
10416# 269
10417extern _Float128 nextdownf128(_Float128 __x) noexcept(true); extern _Float128 __nextdownf128(_Float128 __x) noexcept(true);
10418# 271
10419extern _Float128 nextupf128(_Float128 __x) noexcept(true); extern _Float128 __nextupf128(_Float128 __x) noexcept(true);
10420# 275
10421extern _Float128 remainderf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __remainderf128(_Float128 __x, _Float128 __y) noexcept(true);
10422# 279
10423extern _Float128 scalbnf128(_Float128 __x, int __n) noexcept(true); extern _Float128 __scalbnf128(_Float128 __x, int __n) noexcept(true);
10424# 283
10425extern int ilogbf128(_Float128 __x) noexcept(true); extern int __ilogbf128(_Float128 __x) noexcept(true);
10426# 288
10427extern long llogbf128(_Float128 __x) noexcept(true); extern long __llogbf128(_Float128 __x) noexcept(true);
10428# 293
10429extern _Float128 scalblnf128(_Float128 __x, long __n) noexcept(true); extern _Float128 __scalblnf128(_Float128 __x, long __n) noexcept(true);
10430# 297
10431extern _Float128 nearbyintf128(_Float128 __x) noexcept(true); extern _Float128 __nearbyintf128(_Float128 __x) noexcept(true);
10432# 301
10433extern _Float128 roundf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __roundf128(_Float128 __x) noexcept(true) __attribute((const));
10434# 305
10435extern _Float128 truncf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __truncf128(_Float128 __x) noexcept(true) __attribute((const));
10436# 310
10437extern _Float128 remquof128(_Float128 __x, _Float128 __y, int * __quo) noexcept(true); extern _Float128 __remquof128(_Float128 __x, _Float128 __y, int * __quo) noexcept(true);
10438# 317
10439extern long lrintf128(_Float128 __x) noexcept(true); extern long __lrintf128(_Float128 __x) noexcept(true);
10440# 319
10441__extension__ extern long long llrintf128(_Float128 __x) noexcept(true); extern long long __llrintf128(_Float128 __x) noexcept(true);
10442# 323
10443extern long lroundf128(_Float128 __x) noexcept(true); extern long __lroundf128(_Float128 __x) noexcept(true);
10444# 325
10445__extension__ extern long long llroundf128(_Float128 __x) noexcept(true); extern long long __llroundf128(_Float128 __x) noexcept(true);
10446# 329
10447extern _Float128 fdimf128(_Float128 __x, _Float128 __y) noexcept(true); extern _Float128 __fdimf128(_Float128 __x, _Float128 __y) noexcept(true);
10448# 333
10449extern _Float128 fmaxf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaxf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10450# 336
10451extern _Float128 fminf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10452# 340
10453extern _Float128 fmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true); extern _Float128 __fmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true);
10454# 345
10455extern _Float128 roundevenf128(_Float128 __x) noexcept(true) __attribute((const)); extern _Float128 __roundevenf128(_Float128 __x) noexcept(true) __attribute((const));
10456# 349
10457extern __intmax_t fromfpf128(_Float128 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf128(_Float128 __x, int __round, unsigned __width) noexcept(true);
10458# 354
10459extern __uintmax_t ufromfpf128(_Float128 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf128(_Float128 __x, int __round, unsigned __width) noexcept(true);
10460# 360
10461extern __intmax_t fromfpxf128(_Float128 __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf128(_Float128 __x, int __round, unsigned __width) noexcept(true);
10462# 366
10463extern __uintmax_t ufromfpxf128(_Float128 __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf128(_Float128 __x, int __round, unsigned __width) noexcept(true);
10464# 370
10465extern int canonicalizef128(_Float128 * __cx, const _Float128 * __x) noexcept(true);
10466# 377
10467extern _Float128 fmaxmagf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaxmagf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10468# 380
10469extern _Float128 fminmagf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminmagf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10470# 385
10471extern _Float128 fmaximumf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaximumf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10472# 388
10473extern _Float128 fminimumf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminimumf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10474# 391
10475extern _Float128 fmaximum_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaximum_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10476# 394
10477extern _Float128 fminimum_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminimum_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10478# 397
10479extern _Float128 fmaximum_magf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaximum_magf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10480# 400
10481extern _Float128 fminimum_magf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminimum_magf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10482# 403
10483extern _Float128 fmaximum_mag_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fmaximum_mag_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10484# 406
10485extern _Float128 fminimum_mag_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const)); extern _Float128 __fminimum_mag_numf128(_Float128 __x, _Float128 __y) noexcept(true) __attribute((const));
10486# 411
10487extern int totalorderf128(const _Float128 * __x, const _Float128 * __y) noexcept(true)
10488# 413
10489 __attribute((__pure__));
10490# 416
10491extern int totalordermagf128(const _Float128 * __x, const _Float128 * __y) noexcept(true)
10492# 418
10493 __attribute((__pure__));
10494# 421
10495extern _Float128 getpayloadf128(const _Float128 * __x) noexcept(true); extern _Float128 __getpayloadf128(const _Float128 * __x) noexcept(true);
10496# 424
10497extern int setpayloadf128(_Float128 * __x, _Float128 __payload) noexcept(true);
10498# 427
10499extern int setpayloadsigf128(_Float128 * __x, _Float128 __payload) noexcept(true);
10500# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10501extern _Float32x acosf32x(_Float32x __x) noexcept(true); extern _Float32x __acosf32x(_Float32x __x) noexcept(true);
10502# 55
10503extern _Float32x asinf32x(_Float32x __x) noexcept(true); extern _Float32x __asinf32x(_Float32x __x) noexcept(true);
10504# 57
10505extern _Float32x atanf32x(_Float32x __x) noexcept(true); extern _Float32x __atanf32x(_Float32x __x) noexcept(true);
10506# 59
10507extern _Float32x atan2f32x(_Float32x __y, _Float32x __x) noexcept(true); extern _Float32x __atan2f32x(_Float32x __y, _Float32x __x) noexcept(true);
10508# 62
10509extern _Float32x cosf32x(_Float32x __x) noexcept(true); extern _Float32x __cosf32x(_Float32x __x) noexcept(true);
10510# 64
10511extern _Float32x sinf32x(_Float32x __x) noexcept(true); extern _Float32x __sinf32x(_Float32x __x) noexcept(true);
10512# 66
10513extern _Float32x tanf32x(_Float32x __x) noexcept(true); extern _Float32x __tanf32x(_Float32x __x) noexcept(true);
10514# 71
10515extern _Float32x coshf32x(_Float32x __x) noexcept(true); extern _Float32x __coshf32x(_Float32x __x) noexcept(true);
10516# 73
10517extern _Float32x sinhf32x(_Float32x __x) noexcept(true); extern _Float32x __sinhf32x(_Float32x __x) noexcept(true);
10518# 75
10519extern _Float32x tanhf32x(_Float32x __x) noexcept(true); extern _Float32x __tanhf32x(_Float32x __x) noexcept(true);
10520# 79
10521extern void sincosf32x(_Float32x __x, _Float32x * __sinx, _Float32x * __cosx) noexcept(true); extern void __sincosf32x(_Float32x __x, _Float32x * __sinx, _Float32x * __cosx) noexcept(true);
10522# 85
10523extern _Float32x acoshf32x(_Float32x __x) noexcept(true); extern _Float32x __acoshf32x(_Float32x __x) noexcept(true);
10524# 87
10525extern _Float32x asinhf32x(_Float32x __x) noexcept(true); extern _Float32x __asinhf32x(_Float32x __x) noexcept(true);
10526# 89
10527extern _Float32x atanhf32x(_Float32x __x) noexcept(true); extern _Float32x __atanhf32x(_Float32x __x) noexcept(true);
10528# 95
10529extern _Float32x expf32x(_Float32x __x) noexcept(true); extern _Float32x __expf32x(_Float32x __x) noexcept(true);
10530# 98
10531extern _Float32x frexpf32x(_Float32x __x, int * __exponent) noexcept(true); extern _Float32x __frexpf32x(_Float32x __x, int * __exponent) noexcept(true);
10532# 101
10533extern _Float32x ldexpf32x(_Float32x __x, int __exponent) noexcept(true); extern _Float32x __ldexpf32x(_Float32x __x, int __exponent) noexcept(true);
10534# 104
10535extern _Float32x logf32x(_Float32x __x) noexcept(true); extern _Float32x __logf32x(_Float32x __x) noexcept(true);
10536# 107
10537extern _Float32x log10f32x(_Float32x __x) noexcept(true); extern _Float32x __log10f32x(_Float32x __x) noexcept(true);
10538# 110
10539extern _Float32x modff32x(_Float32x __x, _Float32x * __iptr) noexcept(true); extern _Float32x __modff32x(_Float32x __x, _Float32x * __iptr) noexcept(true) __attribute((__nonnull__(2)));
10540# 114
10541extern _Float32x exp10f32x(_Float32x __x) noexcept(true); extern _Float32x __exp10f32x(_Float32x __x) noexcept(true);
10542# 119
10543extern _Float32x expm1f32x(_Float32x __x) noexcept(true); extern _Float32x __expm1f32x(_Float32x __x) noexcept(true);
10544# 122
10545extern _Float32x log1pf32x(_Float32x __x) noexcept(true); extern _Float32x __log1pf32x(_Float32x __x) noexcept(true);
10546# 125
10547extern _Float32x logbf32x(_Float32x __x) noexcept(true); extern _Float32x __logbf32x(_Float32x __x) noexcept(true);
10548# 130
10549extern _Float32x exp2f32x(_Float32x __x) noexcept(true); extern _Float32x __exp2f32x(_Float32x __x) noexcept(true);
10550# 133
10551extern _Float32x log2f32x(_Float32x __x) noexcept(true); extern _Float32x __log2f32x(_Float32x __x) noexcept(true);
10552# 140
10553extern _Float32x powf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __powf32x(_Float32x __x, _Float32x __y) noexcept(true);
10554# 143
10555extern _Float32x sqrtf32x(_Float32x __x) noexcept(true); extern _Float32x __sqrtf32x(_Float32x __x) noexcept(true);
10556# 147
10557extern _Float32x hypotf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __hypotf32x(_Float32x __x, _Float32x __y) noexcept(true);
10558# 152
10559extern _Float32x cbrtf32x(_Float32x __x) noexcept(true); extern _Float32x __cbrtf32x(_Float32x __x) noexcept(true);
10560# 159
10561extern _Float32x ceilf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __ceilf32x(_Float32x __x) noexcept(true) __attribute((const));
10562# 162
10563extern _Float32x fabsf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __fabsf32x(_Float32x __x) noexcept(true) __attribute((const));
10564# 165
10565extern _Float32x floorf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __floorf32x(_Float32x __x) noexcept(true) __attribute((const));
10566# 168
10567extern _Float32x fmodf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __fmodf32x(_Float32x __x, _Float32x __y) noexcept(true);
10568# 198 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10569extern _Float32x copysignf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __copysignf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10570# 203
10571extern _Float32x nanf32x(const char * __tagb) noexcept(true); extern _Float32x __nanf32x(const char * __tagb) noexcept(true);
10572# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10573extern _Float32x j0f32x(_Float32x) noexcept(true); extern _Float32x __j0f32x(_Float32x) noexcept(true);
10574# 221
10575extern _Float32x j1f32x(_Float32x) noexcept(true); extern _Float32x __j1f32x(_Float32x) noexcept(true);
10576# 222
10577extern _Float32x jnf32x(int, _Float32x) noexcept(true); extern _Float32x __jnf32x(int, _Float32x) noexcept(true);
10578# 223
10579extern _Float32x y0f32x(_Float32x) noexcept(true); extern _Float32x __y0f32x(_Float32x) noexcept(true);
10580# 224
10581extern _Float32x y1f32x(_Float32x) noexcept(true); extern _Float32x __y1f32x(_Float32x) noexcept(true);
10582# 225
10583extern _Float32x ynf32x(int, _Float32x) noexcept(true); extern _Float32x __ynf32x(int, _Float32x) noexcept(true);
10584# 231
10585extern _Float32x erff32x(_Float32x) noexcept(true); extern _Float32x __erff32x(_Float32x) noexcept(true);
10586# 232
10587extern _Float32x erfcf32x(_Float32x) noexcept(true); extern _Float32x __erfcf32x(_Float32x) noexcept(true);
10588# 233
10589extern _Float32x lgammaf32x(_Float32x) noexcept(true); extern _Float32x __lgammaf32x(_Float32x) noexcept(true);
10590# 238
10591extern _Float32x tgammaf32x(_Float32x) noexcept(true); extern _Float32x __tgammaf32x(_Float32x) noexcept(true);
10592# 252 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10593extern _Float32x lgammaf32x_r(_Float32x, int * __signgamp) noexcept(true); extern _Float32x __lgammaf32x_r(_Float32x, int * __signgamp) noexcept(true);
10594# 259
10595extern _Float32x rintf32x(_Float32x __x) noexcept(true); extern _Float32x __rintf32x(_Float32x __x) noexcept(true);
10596# 262
10597extern _Float32x nextafterf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __nextafterf32x(_Float32x __x, _Float32x __y) noexcept(true);
10598# 269
10599extern _Float32x nextdownf32x(_Float32x __x) noexcept(true); extern _Float32x __nextdownf32x(_Float32x __x) noexcept(true);
10600# 271
10601extern _Float32x nextupf32x(_Float32x __x) noexcept(true); extern _Float32x __nextupf32x(_Float32x __x) noexcept(true);
10602# 275
10603extern _Float32x remainderf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __remainderf32x(_Float32x __x, _Float32x __y) noexcept(true);
10604# 279
10605extern _Float32x scalbnf32x(_Float32x __x, int __n) noexcept(true); extern _Float32x __scalbnf32x(_Float32x __x, int __n) noexcept(true);
10606# 283
10607extern int ilogbf32x(_Float32x __x) noexcept(true); extern int __ilogbf32x(_Float32x __x) noexcept(true);
10608# 288
10609extern long llogbf32x(_Float32x __x) noexcept(true); extern long __llogbf32x(_Float32x __x) noexcept(true);
10610# 293
10611extern _Float32x scalblnf32x(_Float32x __x, long __n) noexcept(true); extern _Float32x __scalblnf32x(_Float32x __x, long __n) noexcept(true);
10612# 297
10613extern _Float32x nearbyintf32x(_Float32x __x) noexcept(true); extern _Float32x __nearbyintf32x(_Float32x __x) noexcept(true);
10614# 301
10615extern _Float32x roundf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __roundf32x(_Float32x __x) noexcept(true) __attribute((const));
10616# 305
10617extern _Float32x truncf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __truncf32x(_Float32x __x) noexcept(true) __attribute((const));
10618# 310
10619extern _Float32x remquof32x(_Float32x __x, _Float32x __y, int * __quo) noexcept(true); extern _Float32x __remquof32x(_Float32x __x, _Float32x __y, int * __quo) noexcept(true);
10620# 317
10621extern long lrintf32x(_Float32x __x) noexcept(true); extern long __lrintf32x(_Float32x __x) noexcept(true);
10622# 319
10623__extension__ extern long long llrintf32x(_Float32x __x) noexcept(true); extern long long __llrintf32x(_Float32x __x) noexcept(true);
10624# 323
10625extern long lroundf32x(_Float32x __x) noexcept(true); extern long __lroundf32x(_Float32x __x) noexcept(true);
10626# 325
10627__extension__ extern long long llroundf32x(_Float32x __x) noexcept(true); extern long long __llroundf32x(_Float32x __x) noexcept(true);
10628# 329
10629extern _Float32x fdimf32x(_Float32x __x, _Float32x __y) noexcept(true); extern _Float32x __fdimf32x(_Float32x __x, _Float32x __y) noexcept(true);
10630# 333
10631extern _Float32x fmaxf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaxf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10632# 336
10633extern _Float32x fminf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10634# 340
10635extern _Float32x fmaf32x(_Float32x __x, _Float32x __y, _Float32x __z) noexcept(true); extern _Float32x __fmaf32x(_Float32x __x, _Float32x __y, _Float32x __z) noexcept(true);
10636# 345
10637extern _Float32x roundevenf32x(_Float32x __x) noexcept(true) __attribute((const)); extern _Float32x __roundevenf32x(_Float32x __x) noexcept(true) __attribute((const));
10638# 349
10639extern __intmax_t fromfpf32x(_Float32x __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf32x(_Float32x __x, int __round, unsigned __width) noexcept(true);
10640# 354
10641extern __uintmax_t ufromfpf32x(_Float32x __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf32x(_Float32x __x, int __round, unsigned __width) noexcept(true);
10642# 360
10643extern __intmax_t fromfpxf32x(_Float32x __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf32x(_Float32x __x, int __round, unsigned __width) noexcept(true);
10644# 366
10645extern __uintmax_t ufromfpxf32x(_Float32x __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf32x(_Float32x __x, int __round, unsigned __width) noexcept(true);
10646# 370
10647extern int canonicalizef32x(_Float32x * __cx, const _Float32x * __x) noexcept(true);
10648# 377
10649extern _Float32x fmaxmagf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaxmagf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10650# 380
10651extern _Float32x fminmagf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminmagf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10652# 385
10653extern _Float32x fmaximumf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaximumf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10654# 388
10655extern _Float32x fminimumf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminimumf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10656# 391
10657extern _Float32x fmaximum_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaximum_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10658# 394
10659extern _Float32x fminimum_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminimum_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10660# 397
10661extern _Float32x fmaximum_magf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaximum_magf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10662# 400
10663extern _Float32x fminimum_magf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminimum_magf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10664# 403
10665extern _Float32x fmaximum_mag_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fmaximum_mag_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10666# 406
10667extern _Float32x fminimum_mag_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const)); extern _Float32x __fminimum_mag_numf32x(_Float32x __x, _Float32x __y) noexcept(true) __attribute((const));
10668# 411
10669extern int totalorderf32x(const _Float32x * __x, const _Float32x * __y) noexcept(true)
10670# 413
10671 __attribute((__pure__));
10672# 416
10673extern int totalordermagf32x(const _Float32x * __x, const _Float32x * __y) noexcept(true)
10674# 418
10675 __attribute((__pure__));
10676# 421
10677extern _Float32x getpayloadf32x(const _Float32x * __x) noexcept(true); extern _Float32x __getpayloadf32x(const _Float32x * __x) noexcept(true);
10678# 424
10679extern int setpayloadf32x(_Float32x * __x, _Float32x __payload) noexcept(true);
10680# 427
10681extern int setpayloadsigf32x(_Float32x * __x, _Float32x __payload) noexcept(true);
10682# 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10683extern _Float64x acosf64x(_Float64x __x) noexcept(true); extern _Float64x __acosf64x(_Float64x __x) noexcept(true);
10684# 55
10685extern _Float64x asinf64x(_Float64x __x) noexcept(true); extern _Float64x __asinf64x(_Float64x __x) noexcept(true);
10686# 57
10687extern _Float64x atanf64x(_Float64x __x) noexcept(true); extern _Float64x __atanf64x(_Float64x __x) noexcept(true);
10688# 59
10689extern _Float64x atan2f64x(_Float64x __y, _Float64x __x) noexcept(true); extern _Float64x __atan2f64x(_Float64x __y, _Float64x __x) noexcept(true);
10690# 62
10691extern _Float64x cosf64x(_Float64x __x) noexcept(true); extern _Float64x __cosf64x(_Float64x __x) noexcept(true);
10692# 64
10693extern _Float64x sinf64x(_Float64x __x) noexcept(true); extern _Float64x __sinf64x(_Float64x __x) noexcept(true);
10694# 66
10695extern _Float64x tanf64x(_Float64x __x) noexcept(true); extern _Float64x __tanf64x(_Float64x __x) noexcept(true);
10696# 71
10697extern _Float64x coshf64x(_Float64x __x) noexcept(true); extern _Float64x __coshf64x(_Float64x __x) noexcept(true);
10698# 73
10699extern _Float64x sinhf64x(_Float64x __x) noexcept(true); extern _Float64x __sinhf64x(_Float64x __x) noexcept(true);
10700# 75
10701extern _Float64x tanhf64x(_Float64x __x) noexcept(true); extern _Float64x __tanhf64x(_Float64x __x) noexcept(true);
10702# 79
10703extern void sincosf64x(_Float64x __x, _Float64x * __sinx, _Float64x * __cosx) noexcept(true); extern void __sincosf64x(_Float64x __x, _Float64x * __sinx, _Float64x * __cosx) noexcept(true);
10704# 85
10705extern _Float64x acoshf64x(_Float64x __x) noexcept(true); extern _Float64x __acoshf64x(_Float64x __x) noexcept(true);
10706# 87
10707extern _Float64x asinhf64x(_Float64x __x) noexcept(true); extern _Float64x __asinhf64x(_Float64x __x) noexcept(true);
10708# 89
10709extern _Float64x atanhf64x(_Float64x __x) noexcept(true); extern _Float64x __atanhf64x(_Float64x __x) noexcept(true);
10710# 95
10711extern _Float64x expf64x(_Float64x __x) noexcept(true); extern _Float64x __expf64x(_Float64x __x) noexcept(true);
10712# 98
10713extern _Float64x frexpf64x(_Float64x __x, int * __exponent) noexcept(true); extern _Float64x __frexpf64x(_Float64x __x, int * __exponent) noexcept(true);
10714# 101
10715extern _Float64x ldexpf64x(_Float64x __x, int __exponent) noexcept(true); extern _Float64x __ldexpf64x(_Float64x __x, int __exponent) noexcept(true);
10716# 104
10717extern _Float64x logf64x(_Float64x __x) noexcept(true); extern _Float64x __logf64x(_Float64x __x) noexcept(true);
10718# 107
10719extern _Float64x log10f64x(_Float64x __x) noexcept(true); extern _Float64x __log10f64x(_Float64x __x) noexcept(true);
10720# 110
10721extern _Float64x modff64x(_Float64x __x, _Float64x * __iptr) noexcept(true); extern _Float64x __modff64x(_Float64x __x, _Float64x * __iptr) noexcept(true) __attribute((__nonnull__(2)));
10722# 114
10723extern _Float64x exp10f64x(_Float64x __x) noexcept(true); extern _Float64x __exp10f64x(_Float64x __x) noexcept(true);
10724# 119
10725extern _Float64x expm1f64x(_Float64x __x) noexcept(true); extern _Float64x __expm1f64x(_Float64x __x) noexcept(true);
10726# 122
10727extern _Float64x log1pf64x(_Float64x __x) noexcept(true); extern _Float64x __log1pf64x(_Float64x __x) noexcept(true);
10728# 125
10729extern _Float64x logbf64x(_Float64x __x) noexcept(true); extern _Float64x __logbf64x(_Float64x __x) noexcept(true);
10730# 130
10731extern _Float64x exp2f64x(_Float64x __x) noexcept(true); extern _Float64x __exp2f64x(_Float64x __x) noexcept(true);
10732# 133
10733extern _Float64x log2f64x(_Float64x __x) noexcept(true); extern _Float64x __log2f64x(_Float64x __x) noexcept(true);
10734# 140
10735extern _Float64x powf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __powf64x(_Float64x __x, _Float64x __y) noexcept(true);
10736# 143
10737extern _Float64x sqrtf64x(_Float64x __x) noexcept(true); extern _Float64x __sqrtf64x(_Float64x __x) noexcept(true);
10738# 147
10739extern _Float64x hypotf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __hypotf64x(_Float64x __x, _Float64x __y) noexcept(true);
10740# 152
10741extern _Float64x cbrtf64x(_Float64x __x) noexcept(true); extern _Float64x __cbrtf64x(_Float64x __x) noexcept(true);
10742# 159
10743extern _Float64x ceilf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __ceilf64x(_Float64x __x) noexcept(true) __attribute((const));
10744# 162
10745extern _Float64x fabsf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __fabsf64x(_Float64x __x) noexcept(true) __attribute((const));
10746# 165
10747extern _Float64x floorf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __floorf64x(_Float64x __x) noexcept(true) __attribute((const));
10748# 168
10749extern _Float64x fmodf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __fmodf64x(_Float64x __x, _Float64x __y) noexcept(true);
10750# 198 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10751extern _Float64x copysignf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __copysignf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10752# 203
10753extern _Float64x nanf64x(const char * __tagb) noexcept(true); extern _Float64x __nanf64x(const char * __tagb) noexcept(true);
10754# 220 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10755extern _Float64x j0f64x(_Float64x) noexcept(true); extern _Float64x __j0f64x(_Float64x) noexcept(true);
10756# 221
10757extern _Float64x j1f64x(_Float64x) noexcept(true); extern _Float64x __j1f64x(_Float64x) noexcept(true);
10758# 222
10759extern _Float64x jnf64x(int, _Float64x) noexcept(true); extern _Float64x __jnf64x(int, _Float64x) noexcept(true);
10760# 223
10761extern _Float64x y0f64x(_Float64x) noexcept(true); extern _Float64x __y0f64x(_Float64x) noexcept(true);
10762# 224
10763extern _Float64x y1f64x(_Float64x) noexcept(true); extern _Float64x __y1f64x(_Float64x) noexcept(true);
10764# 225
10765extern _Float64x ynf64x(int, _Float64x) noexcept(true); extern _Float64x __ynf64x(int, _Float64x) noexcept(true);
10766# 231
10767extern _Float64x erff64x(_Float64x) noexcept(true); extern _Float64x __erff64x(_Float64x) noexcept(true);
10768# 232
10769extern _Float64x erfcf64x(_Float64x) noexcept(true); extern _Float64x __erfcf64x(_Float64x) noexcept(true);
10770# 233
10771extern _Float64x lgammaf64x(_Float64x) noexcept(true); extern _Float64x __lgammaf64x(_Float64x) noexcept(true);
10772# 238
10773extern _Float64x tgammaf64x(_Float64x) noexcept(true); extern _Float64x __tgammaf64x(_Float64x) noexcept(true);
10774# 252 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3
10775extern _Float64x lgammaf64x_r(_Float64x, int * __signgamp) noexcept(true); extern _Float64x __lgammaf64x_r(_Float64x, int * __signgamp) noexcept(true);
10776# 259
10777extern _Float64x rintf64x(_Float64x __x) noexcept(true); extern _Float64x __rintf64x(_Float64x __x) noexcept(true);
10778# 262
10779extern _Float64x nextafterf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __nextafterf64x(_Float64x __x, _Float64x __y) noexcept(true);
10780# 269
10781extern _Float64x nextdownf64x(_Float64x __x) noexcept(true); extern _Float64x __nextdownf64x(_Float64x __x) noexcept(true);
10782# 271
10783extern _Float64x nextupf64x(_Float64x __x) noexcept(true); extern _Float64x __nextupf64x(_Float64x __x) noexcept(true);
10784# 275
10785extern _Float64x remainderf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __remainderf64x(_Float64x __x, _Float64x __y) noexcept(true);
10786# 279
10787extern _Float64x scalbnf64x(_Float64x __x, int __n) noexcept(true); extern _Float64x __scalbnf64x(_Float64x __x, int __n) noexcept(true);
10788# 283
10789extern int ilogbf64x(_Float64x __x) noexcept(true); extern int __ilogbf64x(_Float64x __x) noexcept(true);
10790# 288
10791extern long llogbf64x(_Float64x __x) noexcept(true); extern long __llogbf64x(_Float64x __x) noexcept(true);
10792# 293
10793extern _Float64x scalblnf64x(_Float64x __x, long __n) noexcept(true); extern _Float64x __scalblnf64x(_Float64x __x, long __n) noexcept(true);
10794# 297
10795extern _Float64x nearbyintf64x(_Float64x __x) noexcept(true); extern _Float64x __nearbyintf64x(_Float64x __x) noexcept(true);
10796# 301
10797extern _Float64x roundf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __roundf64x(_Float64x __x) noexcept(true) __attribute((const));
10798# 305
10799extern _Float64x truncf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __truncf64x(_Float64x __x) noexcept(true) __attribute((const));
10800# 310
10801extern _Float64x remquof64x(_Float64x __x, _Float64x __y, int * __quo) noexcept(true); extern _Float64x __remquof64x(_Float64x __x, _Float64x __y, int * __quo) noexcept(true);
10802# 317
10803extern long lrintf64x(_Float64x __x) noexcept(true); extern long __lrintf64x(_Float64x __x) noexcept(true);
10804# 319
10805__extension__ extern long long llrintf64x(_Float64x __x) noexcept(true); extern long long __llrintf64x(_Float64x __x) noexcept(true);
10806# 323
10807extern long lroundf64x(_Float64x __x) noexcept(true); extern long __lroundf64x(_Float64x __x) noexcept(true);
10808# 325
10809__extension__ extern long long llroundf64x(_Float64x __x) noexcept(true); extern long long __llroundf64x(_Float64x __x) noexcept(true);
10810# 329
10811extern _Float64x fdimf64x(_Float64x __x, _Float64x __y) noexcept(true); extern _Float64x __fdimf64x(_Float64x __x, _Float64x __y) noexcept(true);
10812# 333
10813extern _Float64x fmaxf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaxf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10814# 336
10815extern _Float64x fminf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10816# 340
10817extern _Float64x fmaf64x(_Float64x __x, _Float64x __y, _Float64x __z) noexcept(true); extern _Float64x __fmaf64x(_Float64x __x, _Float64x __y, _Float64x __z) noexcept(true);
10818# 345
10819extern _Float64x roundevenf64x(_Float64x __x) noexcept(true) __attribute((const)); extern _Float64x __roundevenf64x(_Float64x __x) noexcept(true) __attribute((const));
10820# 349
10821extern __intmax_t fromfpf64x(_Float64x __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpf64x(_Float64x __x, int __round, unsigned __width) noexcept(true);
10822# 354
10823extern __uintmax_t ufromfpf64x(_Float64x __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpf64x(_Float64x __x, int __round, unsigned __width) noexcept(true);
10824# 360
10825extern __intmax_t fromfpxf64x(_Float64x __x, int __round, unsigned __width) noexcept(true); extern __intmax_t __fromfpxf64x(_Float64x __x, int __round, unsigned __width) noexcept(true);
10826# 366
10827extern __uintmax_t ufromfpxf64x(_Float64x __x, int __round, unsigned __width) noexcept(true); extern __uintmax_t __ufromfpxf64x(_Float64x __x, int __round, unsigned __width) noexcept(true);
10828# 370
10829extern int canonicalizef64x(_Float64x * __cx, const _Float64x * __x) noexcept(true);
10830# 377
10831extern _Float64x fmaxmagf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaxmagf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10832# 380
10833extern _Float64x fminmagf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminmagf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10834# 385
10835extern _Float64x fmaximumf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaximumf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10836# 388
10837extern _Float64x fminimumf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminimumf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10838# 391
10839extern _Float64x fmaximum_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaximum_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10840# 394
10841extern _Float64x fminimum_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminimum_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10842# 397
10843extern _Float64x fmaximum_magf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaximum_magf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10844# 400
10845extern _Float64x fminimum_magf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminimum_magf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10846# 403
10847extern _Float64x fmaximum_mag_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fmaximum_mag_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10848# 406
10849extern _Float64x fminimum_mag_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const)); extern _Float64x __fminimum_mag_numf64x(_Float64x __x, _Float64x __y) noexcept(true) __attribute((const));
10850# 411
10851extern int totalorderf64x(const _Float64x * __x, const _Float64x * __y) noexcept(true)
10852# 413
10853 __attribute((__pure__));
10854# 416
10855extern int totalordermagf64x(const _Float64x * __x, const _Float64x * __y) noexcept(true)
10856# 418
10857 __attribute((__pure__));
10858# 421
10859extern _Float64x getpayloadf64x(const _Float64x * __x) noexcept(true); extern _Float64x __getpayloadf64x(const _Float64x * __x) noexcept(true);
10860# 424
10861extern int setpayloadf64x(_Float64x * __x, _Float64x __payload) noexcept(true);
10862# 427
10863extern int setpayloadsigf64x(_Float64x * __x, _Float64x __payload) noexcept(true);
10864# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10865extern float fadd(double __x, double __y) noexcept(true);
10866# 27
10867extern float fdiv(double __x, double __y) noexcept(true);
10868# 30
10869extern float ffma(double __x, double __y, double __z) noexcept(true);
10870# 33
10871extern float fmul(double __x, double __y) noexcept(true);
10872# 36
10873extern float fsqrt(double __x) noexcept(true);
10874# 39
10875extern float fsub(double __x, double __y) noexcept(true);
10876# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10877extern float faddl(long double __x, long double __y) noexcept(true);
10878# 27
10879extern float fdivl(long double __x, long double __y) noexcept(true);
10880# 30
10881extern float ffmal(long double __x, long double __y, long double __z) noexcept(true);
10882# 33
10883extern float fmull(long double __x, long double __y) noexcept(true);
10884# 36
10885extern float fsqrtl(long double __x) noexcept(true);
10886# 39
10887extern float fsubl(long double __x, long double __y) noexcept(true);
10888# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10889extern double daddl(long double __x, long double __y) noexcept(true);
10890# 27
10891extern double ddivl(long double __x, long double __y) noexcept(true);
10892# 30
10893extern double dfmal(long double __x, long double __y, long double __z) noexcept(true);
10894# 33
10895extern double dmull(long double __x, long double __y) noexcept(true);
10896# 36
10897extern double dsqrtl(long double __x) noexcept(true);
10898# 39
10899extern double dsubl(long double __x, long double __y) noexcept(true);
10900# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10901extern _Float32 f32addf32x(_Float32x __x, _Float32x __y) noexcept(true);
10902# 27
10903extern _Float32 f32divf32x(_Float32x __x, _Float32x __y) noexcept(true);
10904# 30
10905extern _Float32 f32fmaf32x(_Float32x __x, _Float32x __y, _Float32x __z) noexcept(true);
10906# 33
10907extern _Float32 f32mulf32x(_Float32x __x, _Float32x __y) noexcept(true);
10908# 36
10909extern _Float32 f32sqrtf32x(_Float32x __x) noexcept(true);
10910# 39
10911extern _Float32 f32subf32x(_Float32x __x, _Float32x __y) noexcept(true);
10912# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10913extern _Float32 f32addf64(_Float64 __x, _Float64 __y) noexcept(true);
10914# 27
10915extern _Float32 f32divf64(_Float64 __x, _Float64 __y) noexcept(true);
10916# 30
10917extern _Float32 f32fmaf64(_Float64 __x, _Float64 __y, _Float64 __z) noexcept(true);
10918# 33
10919extern _Float32 f32mulf64(_Float64 __x, _Float64 __y) noexcept(true);
10920# 36
10921extern _Float32 f32sqrtf64(_Float64 __x) noexcept(true);
10922# 39
10923extern _Float32 f32subf64(_Float64 __x, _Float64 __y) noexcept(true);
10924# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10925extern _Float32 f32addf64x(_Float64x __x, _Float64x __y) noexcept(true);
10926# 27
10927extern _Float32 f32divf64x(_Float64x __x, _Float64x __y) noexcept(true);
10928# 30
10929extern _Float32 f32fmaf64x(_Float64x __x, _Float64x __y, _Float64x __z) noexcept(true);
10930# 33
10931extern _Float32 f32mulf64x(_Float64x __x, _Float64x __y) noexcept(true);
10932# 36
10933extern _Float32 f32sqrtf64x(_Float64x __x) noexcept(true);
10934# 39
10935extern _Float32 f32subf64x(_Float64x __x, _Float64x __y) noexcept(true);
10936# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10937extern _Float32 f32addf128(_Float128 __x, _Float128 __y) noexcept(true);
10938# 27
10939extern _Float32 f32divf128(_Float128 __x, _Float128 __y) noexcept(true);
10940# 30
10941extern _Float32 f32fmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true);
10942# 33
10943extern _Float32 f32mulf128(_Float128 __x, _Float128 __y) noexcept(true);
10944# 36
10945extern _Float32 f32sqrtf128(_Float128 __x) noexcept(true);
10946# 39
10947extern _Float32 f32subf128(_Float128 __x, _Float128 __y) noexcept(true);
10948# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10949extern _Float32x f32xaddf64(_Float64 __x, _Float64 __y) noexcept(true);
10950# 27
10951extern _Float32x f32xdivf64(_Float64 __x, _Float64 __y) noexcept(true);
10952# 30
10953extern _Float32x f32xfmaf64(_Float64 __x, _Float64 __y, _Float64 __z) noexcept(true);
10954# 33
10955extern _Float32x f32xmulf64(_Float64 __x, _Float64 __y) noexcept(true);
10956# 36
10957extern _Float32x f32xsqrtf64(_Float64 __x) noexcept(true);
10958# 39
10959extern _Float32x f32xsubf64(_Float64 __x, _Float64 __y) noexcept(true);
10960# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10961extern _Float32x f32xaddf64x(_Float64x __x, _Float64x __y) noexcept(true);
10962# 27
10963extern _Float32x f32xdivf64x(_Float64x __x, _Float64x __y) noexcept(true);
10964# 30
10965extern _Float32x f32xfmaf64x(_Float64x __x, _Float64x __y, _Float64x __z) noexcept(true);
10966# 33
10967extern _Float32x f32xmulf64x(_Float64x __x, _Float64x __y) noexcept(true);
10968# 36
10969extern _Float32x f32xsqrtf64x(_Float64x __x) noexcept(true);
10970# 39
10971extern _Float32x f32xsubf64x(_Float64x __x, _Float64x __y) noexcept(true);
10972# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10973extern _Float32x f32xaddf128(_Float128 __x, _Float128 __y) noexcept(true);
10974# 27
10975extern _Float32x f32xdivf128(_Float128 __x, _Float128 __y) noexcept(true);
10976# 30
10977extern _Float32x f32xfmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true);
10978# 33
10979extern _Float32x f32xmulf128(_Float128 __x, _Float128 __y) noexcept(true);
10980# 36
10981extern _Float32x f32xsqrtf128(_Float128 __x) noexcept(true);
10982# 39
10983extern _Float32x f32xsubf128(_Float128 __x, _Float128 __y) noexcept(true);
10984# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10985extern _Float64 f64addf64x(_Float64x __x, _Float64x __y) noexcept(true);
10986# 27
10987extern _Float64 f64divf64x(_Float64x __x, _Float64x __y) noexcept(true);
10988# 30
10989extern _Float64 f64fmaf64x(_Float64x __x, _Float64x __y, _Float64x __z) noexcept(true);
10990# 33
10991extern _Float64 f64mulf64x(_Float64x __x, _Float64x __y) noexcept(true);
10992# 36
10993extern _Float64 f64sqrtf64x(_Float64x __x) noexcept(true);
10994# 39
10995extern _Float64 f64subf64x(_Float64x __x, _Float64x __y) noexcept(true);
10996# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
10997extern _Float64 f64addf128(_Float128 __x, _Float128 __y) noexcept(true);
10998# 27
10999extern _Float64 f64divf128(_Float128 __x, _Float128 __y) noexcept(true);
11000# 30
11001extern _Float64 f64fmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true);
11002# 33
11003extern _Float64 f64mulf128(_Float128 __x, _Float128 __y) noexcept(true);
11004# 36
11005extern _Float64 f64sqrtf128(_Float128 __x) noexcept(true);
11006# 39
11007extern _Float64 f64subf128(_Float128 __x, _Float128 __y) noexcept(true);
11008# 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3
11009extern _Float64x f64xaddf128(_Float128 __x, _Float128 __y) noexcept(true);
11010# 27
11011extern _Float64x f64xdivf128(_Float128 __x, _Float128 __y) noexcept(true);
11012# 30
11013extern _Float64x f64xfmaf128(_Float128 __x, _Float128 __y, _Float128 __z) noexcept(true);
11014# 33
11015extern _Float64x f64xmulf128(_Float128 __x, _Float128 __y) noexcept(true);
11016# 36
11017extern _Float64x f64xsqrtf128(_Float128 __x) noexcept(true);
11018# 39
11019extern _Float64x f64xsubf128(_Float128 __x, _Float128 __y) noexcept(true);
11020# 854 "/usr/include/math.h" 3
11021extern int signgam;
11022# 935 "/usr/include/math.h" 3
11023enum {
11024# 936
11025FP_NAN,
11026# 939
11027FP_INFINITE,
11028# 942
11029FP_ZERO,
11030# 945
11031FP_SUBNORMAL,
11032# 948
11033FP_NORMAL
11034# 951
11035};
11036# 23 "/usr/include/x86_64-linux-gnu/bits/iscanonical.h" 3
11037extern int __iscanonicall(long double __x) noexcept(true)
11038# 24
11039 __attribute((const));
11040# 46 "/usr/include/x86_64-linux-gnu/bits/iscanonical.h" 3
11041extern "C++" {
11042# 47
11043inline int iscanonical(float __val) { return (((void)((__typeof__(__val))__val)), 1); }
11044# 48
11045inline int iscanonical(double __val) { return (((void)((__typeof__(__val))__val)), 1); }
11046# 49
11047inline int iscanonical(long double __val) { return __iscanonicall(__val); }
11048# 51
11049inline int iscanonical(_Float128 __val) { return (((void)((__typeof__(__val))__val)), 1); }
11050# 53
11051}
11052# 1067 "/usr/include/math.h" 3
11053extern "C++" {
11054# 1068
11055inline int issignaling(float __val) { return __issignalingf(__val); }
11056# 1069
11057inline int issignaling(double __val) { return __issignaling(__val); }
11058# 1071
11059inline int issignaling(long double __val)
11060# 1072
11061{
11062# 1076
11063return __issignalingl(__val);
11064# 1078
11065}
11066# 1082
11067inline int issignaling(_Float128 __val) { return __issignalingf128(__val); }
11068# 1084
11069}
11070# 1098 "/usr/include/math.h" 3
11071extern "C++" {
11072# 1129 "/usr/include/math.h" 3
11073template< class __T> inline bool
11074# 1130
11075iszero(__T __val)
11076# 1131
11077{
11078# 1132
11079return __val == 0;
11080# 1133
11081}
11082# 1135
11083}
11084# 1364 "/usr/include/math.h" 3
11085extern "C++" {
11086# 1365
11087template< class > struct __iseqsig_type;
11088# 1367
11089template<> struct __iseqsig_type< float> {
11090# 1369
11091static int __call(float __x, float __y) throw()
11092# 1370
11093{
11094# 1371
11095return __iseqsigf(__x, __y);
11096# 1372
11097}
11098# 1373
11099};
11100# 1375
11101template<> struct __iseqsig_type< double> {
11102# 1377
11103static int __call(double __x, double __y) throw()
11104# 1378
11105{
11106# 1379
11107return __iseqsig(__x, __y);
11108# 1380
11109}
11110# 1381
11111};
11112# 1383
11113template<> struct __iseqsig_type< long double> {
11114# 1385
11115static int __call(long double __x, long double __y) throw()
11116# 1386
11117{
11118# 1388
11119return __iseqsigl(__x, __y);
11120# 1392
11121}
11122# 1393
11123};
11124# 1396
11125template<> struct __iseqsig_type< _Float32> {
11126# 1398
11127static int __call(_Float32 __x, _Float32 __y) throw()
11128# 1399
11129{
11130# 1400
11131return __iseqsigf(__x, __y);
11132# 1401
11133}
11134# 1402
11135};
11136# 1406
11137template<> struct __iseqsig_type< _Float64> {
11138# 1408
11139static int __call(_Float64 __x, _Float64 __y) throw()
11140# 1409
11141{
11142# 1410
11143return __iseqsig(__x, __y);
11144# 1411
11145}
11146# 1412
11147};
11148# 1418
11149template<> struct __iseqsig_type< _Float128> {
11150# 1420
11151static int __call(_Float128 __x, _Float128 __y) throw()
11152# 1421
11153{
11154# 1423
11155return __iseqsigf128(__x, __y);
11156# 1427
11157}
11158# 1428
11159};
11160# 1432
11161template<> struct __iseqsig_type< _Float32x> {
11162# 1434
11163static int __call(_Float32x __x, _Float32x __y) throw()
11164# 1435
11165{
11166# 1436
11167return __iseqsig(__x, __y);
11168# 1437
11169}
11170# 1438
11171};
11172# 1442
11173template<> struct __iseqsig_type< _Float64x> {
11174# 1444
11175static int __call(_Float64x __x, _Float64x __y) throw()
11176# 1445
11177{
11178# 1447
11179return __iseqsigl(__x, __y);
11180# 1451
11181}
11182# 1452
11183};
11184# 1455
11185template< class _T1, class _T2> inline int
11186# 1457
11187iseqsig(_T1 __x, _T2 __y) throw()
11188# 1458
11189{
11190# 1460
11191typedef __decltype(((__x + __y) + (0.0F))) _T3;
11192# 1464
11193return __iseqsig_type< __decltype(((__x + __y) + (0.0F)))> ::__call(__x, __y);
11194# 1465
11195}
11196# 1467
11197}
11198# 1472
11199}
11200# 79 "/usr/include/c++/13/cmath" 3
11201extern "C++" {
11202# 81
11203namespace std __attribute((__visibility__("default"))) {
11204# 85
11205using ::acos;
11206# 89
11207constexpr float acos(float __x)
11208# 90
11209{ return __builtin_acosf(__x); }
11210# 93
11211constexpr long double acos(long double __x)
11212# 94
11213{ return __builtin_acosl(__x); }
11214# 97
11215template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11216# 101
11217acos(_Tp __x)
11218# 102
11219{ return __builtin_acos(__x); }
11220# 104
11221using ::asin;
11222# 108
11223constexpr float asin(float __x)
11224# 109
11225{ return __builtin_asinf(__x); }
11226# 112
11227constexpr long double asin(long double __x)
11228# 113
11229{ return __builtin_asinl(__x); }
11230# 116
11231template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11232# 120
11233asin(_Tp __x)
11234# 121
11235{ return __builtin_asin(__x); }
11236# 123
11237using ::atan;
11238# 127
11239constexpr float atan(float __x)
11240# 128
11241{ return __builtin_atanf(__x); }
11242# 131
11243constexpr long double atan(long double __x)
11244# 132
11245{ return __builtin_atanl(__x); }
11246# 135
11247template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11248# 139
11249atan(_Tp __x)
11250# 140
11251{ return __builtin_atan(__x); }
11252# 142
11253using ::atan2;
11254# 146
11255constexpr float atan2(float __y, float __x)
11256# 147
11257{ return __builtin_atan2f(__y, __x); }
11258# 150
11259constexpr long double atan2(long double __y, long double __x)
11260# 151
11261{ return __builtin_atan2l(__y, __x); }
11262# 154
11263using ::ceil;
11264# 158
11265constexpr float ceil(float __x)
11266# 159
11267{ return __builtin_ceilf(__x); }
11268# 162
11269constexpr long double ceil(long double __x)
11270# 163
11271{ return __builtin_ceill(__x); }
11272# 166
11273template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11274# 170
11275ceil(_Tp __x)
11276# 171
11277{ return __builtin_ceil(__x); }
11278# 173
11279using ::cos;
11280# 177
11281constexpr float cos(float __x)
11282# 178
11283{ return __builtin_cosf(__x); }
11284# 181
11285constexpr long double cos(long double __x)
11286# 182
11287{ return __builtin_cosl(__x); }
11288# 185
11289template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11290# 189
11291cos(_Tp __x)
11292# 190
11293{ return __builtin_cos(__x); }
11294# 192
11295using ::cosh;
11296# 196
11297constexpr float cosh(float __x)
11298# 197
11299{ return __builtin_coshf(__x); }
11300# 200
11301constexpr long double cosh(long double __x)
11302# 201
11303{ return __builtin_coshl(__x); }
11304# 204
11305template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11306# 208
11307cosh(_Tp __x)
11308# 209
11309{ return __builtin_cosh(__x); }
11310# 211
11311using ::exp;
11312# 215
11313constexpr float exp(float __x)
11314# 216
11315{ return __builtin_expf(__x); }
11316# 219
11317constexpr long double exp(long double __x)
11318# 220
11319{ return __builtin_expl(__x); }
11320# 223
11321template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11322# 227
11323exp(_Tp __x)
11324# 228
11325{ return __builtin_exp(__x); }
11326# 230
11327using ::fabs;
11328# 234
11329constexpr float fabs(float __x)
11330# 235
11331{ return __builtin_fabsf(__x); }
11332# 238
11333constexpr long double fabs(long double __x)
11334# 239
11335{ return __builtin_fabsl(__x); }
11336# 242
11337template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11338# 246
11339fabs(_Tp __x)
11340# 247
11341{ return __builtin_fabs(__x); }
11342# 249
11343using ::floor;
11344# 253
11345constexpr float floor(float __x)
11346# 254
11347{ return __builtin_floorf(__x); }
11348# 257
11349constexpr long double floor(long double __x)
11350# 258
11351{ return __builtin_floorl(__x); }
11352# 261
11353template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11354# 265
11355floor(_Tp __x)
11356# 266
11357{ return __builtin_floor(__x); }
11358# 268
11359using ::fmod;
11360# 272
11361constexpr float fmod(float __x, float __y)
11362# 273
11363{ return __builtin_fmodf(__x, __y); }
11364# 276
11365constexpr long double fmod(long double __x, long double __y)
11366# 277
11367{ return __builtin_fmodl(__x, __y); }
11368# 280
11369using ::frexp;
11370# 284
11371inline float frexp(float __x, int *__exp)
11372# 285
11373{ return __builtin_frexpf(__x, __exp); }
11374# 288
11375inline long double frexp(long double __x, int *__exp)
11376# 289
11377{ return __builtin_frexpl(__x, __exp); }
11378# 292
11379template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11380# 296
11381frexp(_Tp __x, int *__exp)
11382# 297
11383{ return __builtin_frexp(__x, __exp); }
11384# 299
11385using ::ldexp;
11386# 303
11387constexpr float ldexp(float __x, int __exp)
11388# 304
11389{ return __builtin_ldexpf(__x, __exp); }
11390# 307
11391constexpr long double ldexp(long double __x, int __exp)
11392# 308
11393{ return __builtin_ldexpl(__x, __exp); }
11394# 311
11395template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11396# 315
11397ldexp(_Tp __x, int __exp)
11398# 316
11399{ return __builtin_ldexp(__x, __exp); }
11400# 318
11401using ::log;
11402# 322
11403constexpr float log(float __x)
11404# 323
11405{ return __builtin_logf(__x); }
11406# 326
11407constexpr long double log(long double __x)
11408# 327
11409{ return __builtin_logl(__x); }
11410# 330
11411template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11412# 334
11413log(_Tp __x)
11414# 335
11415{ return __builtin_log(__x); }
11416# 337
11417using ::log10;
11418# 341
11419constexpr float log10(float __x)
11420# 342
11421{ return __builtin_log10f(__x); }
11422# 345
11423constexpr long double log10(long double __x)
11424# 346
11425{ return __builtin_log10l(__x); }
11426# 349
11427template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11428# 353
11429log10(_Tp __x)
11430# 354
11431{ return __builtin_log10(__x); }
11432# 356
11433using ::modf;
11434# 360
11435inline float modf(float __x, float *__iptr)
11436# 361
11437{ return __builtin_modff(__x, __iptr); }
11438# 364
11439inline long double modf(long double __x, long double *__iptr)
11440# 365
11441{ return __builtin_modfl(__x, __iptr); }
11442# 368
11443using ::pow;
11444# 372
11445constexpr float pow(float __x, float __y)
11446# 373
11447{ return __builtin_powf(__x, __y); }
11448# 376
11449constexpr long double pow(long double __x, long double __y)
11450# 377
11451{ return __builtin_powl(__x, __y); }
11452# 396 "/usr/include/c++/13/cmath" 3
11453using ::sin;
11454# 400
11455constexpr float sin(float __x)
11456# 401
11457{ return __builtin_sinf(__x); }
11458# 404
11459constexpr long double sin(long double __x)
11460# 405
11461{ return __builtin_sinl(__x); }
11462# 408
11463template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11464# 412
11465sin(_Tp __x)
11466# 413
11467{ return __builtin_sin(__x); }
11468# 415
11469using ::sinh;
11470# 419
11471constexpr float sinh(float __x)
11472# 420
11473{ return __builtin_sinhf(__x); }
11474# 423
11475constexpr long double sinh(long double __x)
11476# 424
11477{ return __builtin_sinhl(__x); }
11478# 427
11479template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11480# 431
11481sinh(_Tp __x)
11482# 432
11483{ return __builtin_sinh(__x); }
11484# 434
11485using ::sqrt;
11486# 438
11487constexpr float sqrt(float __x)
11488# 439
11489{ return __builtin_sqrtf(__x); }
11490# 442
11491constexpr long double sqrt(long double __x)
11492# 443
11493{ return __builtin_sqrtl(__x); }
11494# 446
11495template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11496# 450
11497sqrt(_Tp __x)
11498# 451
11499{ return __builtin_sqrt(__x); }
11500# 453
11501using ::tan;
11502# 457
11503constexpr float tan(float __x)
11504# 458
11505{ return __builtin_tanf(__x); }
11506# 461
11507constexpr long double tan(long double __x)
11508# 462
11509{ return __builtin_tanl(__x); }
11510# 465
11511template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11512# 469
11513tan(_Tp __x)
11514# 470
11515{ return __builtin_tan(__x); }
11516# 472
11517using ::tanh;
11518# 476
11519constexpr float tanh(float __x)
11520# 477
11521{ return __builtin_tanhf(__x); }
11522# 480
11523constexpr long double tanh(long double __x)
11524# 481
11525{ return __builtin_tanhl(__x); }
11526# 484
11527template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
11528# 488
11529tanh(_Tp __x)
11530# 489
11531{ return __builtin_tanh(__x); }
11532# 1049 "/usr/include/c++/13/cmath" 3
11533template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
11534# 1052
11535atan2(_Tp __y, _Up __x)
11536# 1053
11537{
11538# 1054
11539typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11540# 1055
11541return atan2((__type)__y, (__type)__x);
11542# 1056
11543}
11544# 1058
11545template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
11546# 1061
11547fmod(_Tp __x, _Up __y)
11548# 1062
11549{
11550# 1063
11551typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11552# 1064
11553return fmod((__type)__x, (__type)__y);
11554# 1065
11555}
11556# 1067
11557template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
11558# 1070
11559pow(_Tp __x, _Up __y)
11560# 1071
11561{
11562# 1072
11563typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11564# 1073
11565return pow((__type)__x, (__type)__y);
11566# 1074
11567}
11568# 1097 "/usr/include/c++/13/cmath" 3
11569constexpr int fpclassify(float __x)
11570# 1098
11571{ return __builtin_fpclassify(0, 1, 4, 3, 2, __x);
11572# 1099
11573}
11574# 1102
11575constexpr int fpclassify(double __x)
11576# 1103
11577{ return __builtin_fpclassify(0, 1, 4, 3, 2, __x);
11578# 1104
11579}
11580# 1107
11581constexpr int fpclassify(long double __x)
11582# 1108
11583{ return __builtin_fpclassify(0, 1, 4, 3, 2, __x);
11584# 1109
11585}
11586# 1113
11587template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, int> ::__type
11588# 1116
11589fpclassify(_Tp __x)
11590# 1117
11591{ return (__x != 0) ? 4 : 2; }
11592# 1122
11593constexpr bool isfinite(float __x)
11594# 1123
11595{ return __builtin_isfinite(__x); }
11596# 1126
11597constexpr bool isfinite(double __x)
11598# 1127
11599{ return __builtin_isfinite(__x); }
11600# 1130
11601constexpr bool isfinite(long double __x)
11602# 1131
11603{ return __builtin_isfinite(__x); }
11604# 1135
11605template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, bool> ::__type
11606# 1138
11607isfinite(_Tp)
11608# 1139
11609{ return true; }
11610# 1144
11611constexpr bool isinf(float __x)
11612# 1145
11613{ return __builtin_isinf(__x); }
11614# 1152
11615constexpr bool isinf(double __x)
11616# 1153
11617{ return __builtin_isinf(__x); }
11618# 1157
11619constexpr bool isinf(long double __x)
11620# 1158
11621{ return __builtin_isinf(__x); }
11622# 1162
11623template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, bool> ::__type
11624# 1165
11625isinf(_Tp)
11626# 1166
11627{ return false; }
11628# 1171
11629constexpr bool isnan(float __x)
11630# 1172
11631{ return __builtin_isnan(__x); }
11632# 1179
11633constexpr bool isnan(double __x)
11634# 1180
11635{ return __builtin_isnan(__x); }
11636# 1184
11637constexpr bool isnan(long double __x)
11638# 1185
11639{ return __builtin_isnan(__x); }
11640# 1189
11641template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, bool> ::__type
11642# 1192
11643isnan(_Tp)
11644# 1193
11645{ return false; }
11646# 1198
11647constexpr bool isnormal(float __x)
11648# 1199
11649{ return __builtin_isnormal(__x); }
11650# 1202
11651constexpr bool isnormal(double __x)
11652# 1203
11653{ return __builtin_isnormal(__x); }
11654# 1206
11655constexpr bool isnormal(long double __x)
11656# 1207
11657{ return __builtin_isnormal(__x); }
11658# 1211
11659template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, bool> ::__type
11660# 1214
11661isnormal(_Tp __x)
11662# 1215
11663{ return (__x != 0) ? true : false; }
11664# 1221
11665constexpr bool signbit(float __x)
11666# 1222
11667{ return __builtin_signbit(__x); }
11668# 1225
11669constexpr bool signbit(double __x)
11670# 1226
11671{ return __builtin_signbit(__x); }
11672# 1229
11673constexpr bool signbit(long double __x)
11674# 1230
11675{ return __builtin_signbit(__x); }
11676# 1234
11677template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, bool> ::__type
11678# 1237
11679signbit(_Tp __x)
11680# 1238
11681{ return (__x < 0) ? true : false; }
11682# 1243
11683constexpr bool isgreater(float __x, float __y)
11684# 1244
11685{ return __builtin_isgreater(__x, __y); }
11686# 1247
11687constexpr bool isgreater(double __x, double __y)
11688# 1248
11689{ return __builtin_isgreater(__x, __y); }
11690# 1251
11691constexpr bool isgreater(long double __x, long double __y)
11692# 1252
11693{ return __builtin_isgreater(__x, __y); }
11694# 1256
11695template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11696# 1260
11697isgreater(_Tp __x, _Up __y)
11698# 1261
11699{
11700# 1262
11701typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11702# 1263
11703return __builtin_isgreater((__type)__x, (__type)__y);
11704# 1264
11705}
11706# 1269
11707constexpr bool isgreaterequal(float __x, float __y)
11708# 1270
11709{ return __builtin_isgreaterequal(__x, __y); }
11710# 1273
11711constexpr bool isgreaterequal(double __x, double __y)
11712# 1274
11713{ return __builtin_isgreaterequal(__x, __y); }
11714# 1277
11715constexpr bool isgreaterequal(long double __x, long double __y)
11716# 1278
11717{ return __builtin_isgreaterequal(__x, __y); }
11718# 1282
11719template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11720# 1286
11721isgreaterequal(_Tp __x, _Up __y)
11722# 1287
11723{
11724# 1288
11725typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11726# 1289
11727return __builtin_isgreaterequal((__type)__x, (__type)__y);
11728# 1290
11729}
11730# 1295
11731constexpr bool isless(float __x, float __y)
11732# 1296
11733{ return __builtin_isless(__x, __y); }
11734# 1299
11735constexpr bool isless(double __x, double __y)
11736# 1300
11737{ return __builtin_isless(__x, __y); }
11738# 1303
11739constexpr bool isless(long double __x, long double __y)
11740# 1304
11741{ return __builtin_isless(__x, __y); }
11742# 1308
11743template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11744# 1312
11745isless(_Tp __x, _Up __y)
11746# 1313
11747{
11748# 1314
11749typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11750# 1315
11751return __builtin_isless((__type)__x, (__type)__y);
11752# 1316
11753}
11754# 1321
11755constexpr bool islessequal(float __x, float __y)
11756# 1322
11757{ return __builtin_islessequal(__x, __y); }
11758# 1325
11759constexpr bool islessequal(double __x, double __y)
11760# 1326
11761{ return __builtin_islessequal(__x, __y); }
11762# 1329
11763constexpr bool islessequal(long double __x, long double __y)
11764# 1330
11765{ return __builtin_islessequal(__x, __y); }
11766# 1334
11767template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11768# 1338
11769islessequal(_Tp __x, _Up __y)
11770# 1339
11771{
11772# 1340
11773typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11774# 1341
11775return __builtin_islessequal((__type)__x, (__type)__y);
11776# 1342
11777}
11778# 1347
11779constexpr bool islessgreater(float __x, float __y)
11780# 1348
11781{ return __builtin_islessgreater(__x, __y); }
11782# 1351
11783constexpr bool islessgreater(double __x, double __y)
11784# 1352
11785{ return __builtin_islessgreater(__x, __y); }
11786# 1355
11787constexpr bool islessgreater(long double __x, long double __y)
11788# 1356
11789{ return __builtin_islessgreater(__x, __y); }
11790# 1360
11791template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11792# 1364
11793islessgreater(_Tp __x, _Up __y)
11794# 1365
11795{
11796# 1366
11797typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11798# 1367
11799return __builtin_islessgreater((__type)__x, (__type)__y);
11800# 1368
11801}
11802# 1373
11803constexpr bool isunordered(float __x, float __y)
11804# 1374
11805{ return __builtin_isunordered(__x, __y); }
11806# 1377
11807constexpr bool isunordered(double __x, double __y)
11808# 1378
11809{ return __builtin_isunordered(__x, __y); }
11810# 1381
11811constexpr bool isunordered(long double __x, long double __y)
11812# 1382
11813{ return __builtin_isunordered(__x, __y); }
11814# 1386
11815template< class _Tp, class _Up> constexpr typename __gnu_cxx::__enable_if< __is_arithmetic< _Tp> ::__value && __is_arithmetic< _Up> ::__value, bool> ::__type
11816# 1390
11817isunordered(_Tp __x, _Up __y)
11818# 1391
11819{
11820# 1392
11821typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
11822# 1393
11823return __builtin_isunordered((__type)__x, (__type)__y);
11824# 1394
11825}
11826# 1881 "/usr/include/c++/13/cmath" 3
11827using ::double_t;
11828# 1882
11829using ::float_t;
11830# 1885
11831using ::acosh;
11832# 1886
11833using ::acoshf;
11834# 1887
11835using ::acoshl;
11836# 1889
11837using ::asinh;
11838# 1890
11839using ::asinhf;
11840# 1891
11841using ::asinhl;
11842# 1893
11843using ::atanh;
11844# 1894
11845using ::atanhf;
11846# 1895
11847using ::atanhl;
11848# 1897
11849using ::cbrt;
11850# 1898
11851using ::cbrtf;
11852# 1899
11853using ::cbrtl;
11854# 1901
11855using ::copysign;
11856# 1902
11857using ::copysignf;
11858# 1903
11859using ::copysignl;
11860# 1905
11861using ::erf;
11862# 1906
11863using ::erff;
11864# 1907
11865using ::erfl;
11866# 1909
11867using ::erfc;
11868# 1910
11869using ::erfcf;
11870# 1911
11871using ::erfcl;
11872# 1913
11873using ::exp2;
11874# 1914
11875using ::exp2f;
11876# 1915
11877using ::exp2l;
11878# 1917
11879using ::expm1;
11880# 1918
11881using ::expm1f;
11882# 1919
11883using ::expm1l;
11884# 1921
11885using ::fdim;
11886# 1922
11887using ::fdimf;
11888# 1923
11889using ::fdiml;
11890# 1925
11891using ::fma;
11892# 1926
11893using ::fmaf;
11894# 1927
11895using ::fmal;
11896# 1929
11897using ::fmax;
11898# 1930
11899using ::fmaxf;
11900# 1931
11901using ::fmaxl;
11902# 1933
11903using ::fmin;
11904# 1934
11905using ::fminf;
11906# 1935
11907using ::fminl;
11908# 1937
11909using ::hypot;
11910# 1938
11911using ::hypotf;
11912# 1939
11913using ::hypotl;
11914# 1941
11915using ::ilogb;
11916# 1942
11917using ::ilogbf;
11918# 1943
11919using ::ilogbl;
11920# 1945
11921using ::lgamma;
11922# 1946
11923using ::lgammaf;
11924# 1947
11925using ::lgammal;
11926# 1950
11927using ::llrint;
11928# 1951
11929using ::llrintf;
11930# 1952
11931using ::llrintl;
11932# 1954
11933using ::llround;
11934# 1955
11935using ::llroundf;
11936# 1956
11937using ::llroundl;
11938# 1959
11939using ::log1p;
11940# 1960
11941using ::log1pf;
11942# 1961
11943using ::log1pl;
11944# 1963
11945using ::log2;
11946# 1964
11947using ::log2f;
11948# 1965
11949using ::log2l;
11950# 1967
11951using ::logb;
11952# 1968
11953using ::logbf;
11954# 1969
11955using ::logbl;
11956# 1971
11957using ::lrint;
11958# 1972
11959using ::lrintf;
11960# 1973
11961using ::lrintl;
11962# 1975
11963using ::lround;
11964# 1976
11965using ::lroundf;
11966# 1977
11967using ::lroundl;
11968# 1979
11969using ::nan;
11970# 1980
11971using ::nanf;
11972# 1981
11973using ::nanl;
11974# 1983
11975using ::nearbyint;
11976# 1984
11977using ::nearbyintf;
11978# 1985
11979using ::nearbyintl;
11980# 1987
11981using ::nextafter;
11982# 1988
11983using ::nextafterf;
11984# 1989
11985using ::nextafterl;
11986# 1991
11987using ::nexttoward;
11988# 1992
11989using ::nexttowardf;
11990# 1993
11991using ::nexttowardl;
11992# 1995
11993using ::remainder;
11994# 1996
11995using ::remainderf;
11996# 1997
11997using ::remainderl;
11998# 1999
11999using ::remquo;
12000# 2000
12001using ::remquof;
12002# 2001
12003using ::remquol;
12004# 2003
12005using ::rint;
12006# 2004
12007using ::rintf;
12008# 2005
12009using ::rintl;
12010# 2007
12011using ::round;
12012# 2008
12013using ::roundf;
12014# 2009
12015using ::roundl;
12016# 2011
12017using ::scalbln;
12018# 2012
12019using ::scalblnf;
12020# 2013
12021using ::scalblnl;
12022# 2015
12023using ::scalbn;
12024# 2016
12025using ::scalbnf;
12026# 2017
12027using ::scalbnl;
12028# 2019
12029using ::tgamma;
12030# 2020
12031using ::tgammaf;
12032# 2021
12033using ::tgammal;
12034# 2023
12035using ::trunc;
12036# 2024
12037using ::truncf;
12038# 2025
12039using ::truncl;
12040# 2030
12041constexpr float acosh(float __x)
12042# 2031
12043{ return __builtin_acoshf(__x); }
12044# 2034
12045constexpr long double acosh(long double __x)
12046# 2035
12047{ return __builtin_acoshl(__x); }
12048# 2039
12049template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12050# 2042
12051acosh(_Tp __x)
12052# 2043
12053{ return __builtin_acosh(__x); }
12054# 2048
12055constexpr float asinh(float __x)
12056# 2049
12057{ return __builtin_asinhf(__x); }
12058# 2052
12059constexpr long double asinh(long double __x)
12060# 2053
12061{ return __builtin_asinhl(__x); }
12062# 2057
12063template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12064# 2060
12065asinh(_Tp __x)
12066# 2061
12067{ return __builtin_asinh(__x); }
12068# 2066
12069constexpr float atanh(float __x)
12070# 2067
12071{ return __builtin_atanhf(__x); }
12072# 2070
12073constexpr long double atanh(long double __x)
12074# 2071
12075{ return __builtin_atanhl(__x); }
12076# 2075
12077template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12078# 2078
12079atanh(_Tp __x)
12080# 2079
12081{ return __builtin_atanh(__x); }
12082# 2084
12083constexpr float cbrt(float __x)
12084# 2085
12085{ return __builtin_cbrtf(__x); }
12086# 2088
12087constexpr long double cbrt(long double __x)
12088# 2089
12089{ return __builtin_cbrtl(__x); }
12090# 2093
12091template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12092# 2096
12093cbrt(_Tp __x)
12094# 2097
12095{ return __builtin_cbrt(__x); }
12096# 2102
12097constexpr float copysign(float __x, float __y)
12098# 2103
12099{ return __builtin_copysignf(__x, __y); }
12100# 2106
12101constexpr long double copysign(long double __x, long double __y)
12102# 2107
12103{ return __builtin_copysignl(__x, __y); }
12104# 2112
12105constexpr float erf(float __x)
12106# 2113
12107{ return __builtin_erff(__x); }
12108# 2116
12109constexpr long double erf(long double __x)
12110# 2117
12111{ return __builtin_erfl(__x); }
12112# 2121
12113template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12114# 2124
12115erf(_Tp __x)
12116# 2125
12117{ return __builtin_erf(__x); }
12118# 2130
12119constexpr float erfc(float __x)
12120# 2131
12121{ return __builtin_erfcf(__x); }
12122# 2134
12123constexpr long double erfc(long double __x)
12124# 2135
12125{ return __builtin_erfcl(__x); }
12126# 2139
12127template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12128# 2142
12129erfc(_Tp __x)
12130# 2143
12131{ return __builtin_erfc(__x); }
12132# 2148
12133constexpr float exp2(float __x)
12134# 2149
12135{ return __builtin_exp2f(__x); }
12136# 2152
12137constexpr long double exp2(long double __x)
12138# 2153
12139{ return __builtin_exp2l(__x); }
12140# 2157
12141template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12142# 2160
12143exp2(_Tp __x)
12144# 2161
12145{ return __builtin_exp2(__x); }
12146# 2166
12147constexpr float expm1(float __x)
12148# 2167
12149{ return __builtin_expm1f(__x); }
12150# 2170
12151constexpr long double expm1(long double __x)
12152# 2171
12153{ return __builtin_expm1l(__x); }
12154# 2175
12155template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12156# 2178
12157expm1(_Tp __x)
12158# 2179
12159{ return __builtin_expm1(__x); }
12160# 2184
12161constexpr float fdim(float __x, float __y)
12162# 2185
12163{ return __builtin_fdimf(__x, __y); }
12164# 2188
12165constexpr long double fdim(long double __x, long double __y)
12166# 2189
12167{ return __builtin_fdiml(__x, __y); }
12168# 2194
12169constexpr float fma(float __x, float __y, float __z)
12170# 2195
12171{ return __builtin_fmaf(__x, __y, __z); }
12172# 2198
12173constexpr long double fma(long double __x, long double __y, long double __z)
12174# 2199
12175{ return __builtin_fmal(__x, __y, __z); }
12176# 2204
12177constexpr float fmax(float __x, float __y)
12178# 2205
12179{ return __builtin_fmaxf(__x, __y); }
12180# 2208
12181constexpr long double fmax(long double __x, long double __y)
12182# 2209
12183{ return __builtin_fmaxl(__x, __y); }
12184# 2214
12185constexpr float fmin(float __x, float __y)
12186# 2215
12187{ return __builtin_fminf(__x, __y); }
12188# 2218
12189constexpr long double fmin(long double __x, long double __y)
12190# 2219
12191{ return __builtin_fminl(__x, __y); }
12192# 2224
12193constexpr float hypot(float __x, float __y)
12194# 2225
12195{ return __builtin_hypotf(__x, __y); }
12196# 2228
12197constexpr long double hypot(long double __x, long double __y)
12198# 2229
12199{ return __builtin_hypotl(__x, __y); }
12200# 2234
12201constexpr int ilogb(float __x)
12202# 2235
12203{ return __builtin_ilogbf(__x); }
12204# 2238
12205constexpr int ilogb(long double __x)
12206# 2239
12207{ return __builtin_ilogbl(__x); }
12208# 2243
12209template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, int> ::__type
12210# 2247
12211ilogb(_Tp __x)
12212# 2248
12213{ return __builtin_ilogb(__x); }
12214# 2253
12215constexpr float lgamma(float __x)
12216# 2254
12217{ return __builtin_lgammaf(__x); }
12218# 2257
12219constexpr long double lgamma(long double __x)
12220# 2258
12221{ return __builtin_lgammal(__x); }
12222# 2262
12223template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12224# 2265
12225lgamma(_Tp __x)
12226# 2266
12227{ return __builtin_lgamma(__x); }
12228# 2271
12229constexpr long long llrint(float __x)
12230# 2272
12231{ return __builtin_llrintf(__x); }
12232# 2275
12233constexpr long long llrint(long double __x)
12234# 2276
12235{ return __builtin_llrintl(__x); }
12236# 2280
12237template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, long long> ::__type
12238# 2283
12239llrint(_Tp __x)
12240# 2284
12241{ return __builtin_llrint(__x); }
12242# 2289
12243constexpr long long llround(float __x)
12244# 2290
12245{ return __builtin_llroundf(__x); }
12246# 2293
12247constexpr long long llround(long double __x)
12248# 2294
12249{ return __builtin_llroundl(__x); }
12250# 2298
12251template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, long long> ::__type
12252# 2301
12253llround(_Tp __x)
12254# 2302
12255{ return __builtin_llround(__x); }
12256# 2307
12257constexpr float log1p(float __x)
12258# 2308
12259{ return __builtin_log1pf(__x); }
12260# 2311
12261constexpr long double log1p(long double __x)
12262# 2312
12263{ return __builtin_log1pl(__x); }
12264# 2316
12265template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12266# 2319
12267log1p(_Tp __x)
12268# 2320
12269{ return __builtin_log1p(__x); }
12270# 2326
12271constexpr float log2(float __x)
12272# 2327
12273{ return __builtin_log2f(__x); }
12274# 2330
12275constexpr long double log2(long double __x)
12276# 2331
12277{ return __builtin_log2l(__x); }
12278# 2335
12279template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12280# 2338
12281log2(_Tp __x)
12282# 2339
12283{ return __builtin_log2(__x); }
12284# 2344
12285constexpr float logb(float __x)
12286# 2345
12287{ return __builtin_logbf(__x); }
12288# 2348
12289constexpr long double logb(long double __x)
12290# 2349
12291{ return __builtin_logbl(__x); }
12292# 2353
12293template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12294# 2356
12295logb(_Tp __x)
12296# 2357
12297{ return __builtin_logb(__x); }
12298# 2362
12299constexpr long lrint(float __x)
12300# 2363
12301{ return __builtin_lrintf(__x); }
12302# 2366
12303constexpr long lrint(long double __x)
12304# 2367
12305{ return __builtin_lrintl(__x); }
12306# 2371
12307template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, long> ::__type
12308# 2374
12309lrint(_Tp __x)
12310# 2375
12311{ return __builtin_lrint(__x); }
12312# 2380
12313constexpr long lround(float __x)
12314# 2381
12315{ return __builtin_lroundf(__x); }
12316# 2384
12317constexpr long lround(long double __x)
12318# 2385
12319{ return __builtin_lroundl(__x); }
12320# 2389
12321template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, long> ::__type
12322# 2392
12323lround(_Tp __x)
12324# 2393
12325{ return __builtin_lround(__x); }
12326# 2398
12327constexpr float nearbyint(float __x)
12328# 2399
12329{ return __builtin_nearbyintf(__x); }
12330# 2402
12331constexpr long double nearbyint(long double __x)
12332# 2403
12333{ return __builtin_nearbyintl(__x); }
12334# 2407
12335template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12336# 2410
12337nearbyint(_Tp __x)
12338# 2411
12339{ return __builtin_nearbyint(__x); }
12340# 2416
12341constexpr float nextafter(float __x, float __y)
12342# 2417
12343{ return __builtin_nextafterf(__x, __y); }
12344# 2420
12345constexpr long double nextafter(long double __x, long double __y)
12346# 2421
12347{ return __builtin_nextafterl(__x, __y); }
12348# 2426
12349constexpr float nexttoward(float __x, long double __y)
12350# 2427
12351{ return __builtin_nexttowardf(__x, __y); }
12352# 2430
12353constexpr long double nexttoward(long double __x, long double __y)
12354# 2431
12355{ return __builtin_nexttowardl(__x, __y); }
12356# 2435
12357template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12358# 2438
12359nexttoward(_Tp __x, long double __y)
12360# 2439
12361{ return __builtin_nexttoward(__x, __y); }
12362# 2444
12363constexpr float remainder(float __x, float __y)
12364# 2445
12365{ return __builtin_remainderf(__x, __y); }
12366# 2448
12367constexpr long double remainder(long double __x, long double __y)
12368# 2449
12369{ return __builtin_remainderl(__x, __y); }
12370# 2454
12371inline float remquo(float __x, float __y, int *__pquo)
12372# 2455
12373{ return __builtin_remquof(__x, __y, __pquo); }
12374# 2458
12375inline long double remquo(long double __x, long double __y, int *__pquo)
12376# 2459
12377{ return __builtin_remquol(__x, __y, __pquo); }
12378# 2464
12379constexpr float rint(float __x)
12380# 2465
12381{ return __builtin_rintf(__x); }
12382# 2468
12383constexpr long double rint(long double __x)
12384# 2469
12385{ return __builtin_rintl(__x); }
12386# 2473
12387template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12388# 2476
12389rint(_Tp __x)
12390# 2477
12391{ return __builtin_rint(__x); }
12392# 2482
12393constexpr float round(float __x)
12394# 2483
12395{ return __builtin_roundf(__x); }
12396# 2486
12397constexpr long double round(long double __x)
12398# 2487
12399{ return __builtin_roundl(__x); }
12400# 2491
12401template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12402# 2494
12403round(_Tp __x)
12404# 2495
12405{ return __builtin_round(__x); }
12406# 2500
12407constexpr float scalbln(float __x, long __ex)
12408# 2501
12409{ return __builtin_scalblnf(__x, __ex); }
12410# 2504
12411constexpr long double scalbln(long double __x, long __ex)
12412# 2505
12413{ return __builtin_scalblnl(__x, __ex); }
12414# 2509
12415template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12416# 2512
12417scalbln(_Tp __x, long __ex)
12418# 2513
12419{ return __builtin_scalbln(__x, __ex); }
12420# 2518
12421constexpr float scalbn(float __x, int __ex)
12422# 2519
12423{ return __builtin_scalbnf(__x, __ex); }
12424# 2522
12425constexpr long double scalbn(long double __x, int __ex)
12426# 2523
12427{ return __builtin_scalbnl(__x, __ex); }
12428# 2527
12429template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12430# 2530
12431scalbn(_Tp __x, int __ex)
12432# 2531
12433{ return __builtin_scalbn(__x, __ex); }
12434# 2536
12435constexpr float tgamma(float __x)
12436# 2537
12437{ return __builtin_tgammaf(__x); }
12438# 2540
12439constexpr long double tgamma(long double __x)
12440# 2541
12441{ return __builtin_tgammal(__x); }
12442# 2545
12443template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12444# 2548
12445tgamma(_Tp __x)
12446# 2549
12447{ return __builtin_tgamma(__x); }
12448# 2554
12449constexpr float trunc(float __x)
12450# 2555
12451{ return __builtin_truncf(__x); }
12452# 2558
12453constexpr long double trunc(long double __x)
12454# 2559
12455{ return __builtin_truncl(__x); }
12456# 2563
12457template< class _Tp> constexpr typename __gnu_cxx::__enable_if< __is_integer< _Tp> ::__value, double> ::__type
12458# 2566
12459trunc(_Tp __x)
12460# 2567
12461{ return __builtin_trunc(__x); }
12462# 3469 "/usr/include/c++/13/cmath" 3
12463template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12464# 3471
12465copysign(_Tp __x, _Up __y)
12466# 3472
12467{
12468# 3473
12469typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12470# 3474
12471return copysign((__type)__x, (__type)__y);
12472# 3475
12473}
12474# 3477
12475template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12476# 3479
12477fdim(_Tp __x, _Up __y)
12478# 3480
12479{
12480# 3481
12481typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12482# 3482
12483return fdim((__type)__x, (__type)__y);
12484# 3483
12485}
12486# 3485
12487template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12488# 3487
12489fmax(_Tp __x, _Up __y)
12490# 3488
12491{
12492# 3489
12493typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12494# 3490
12495return fmax((__type)__x, (__type)__y);
12496# 3491
12497}
12498# 3493
12499template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12500# 3495
12501fmin(_Tp __x, _Up __y)
12502# 3496
12503{
12504# 3497
12505typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12506# 3498
12507return fmin((__type)__x, (__type)__y);
12508# 3499
12509}
12510# 3501
12511template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12512# 3503
12513hypot(_Tp __x, _Up __y)
12514# 3504
12515{
12516# 3505
12517typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12518# 3506
12519return hypot((__type)__x, (__type)__y);
12520# 3507
12521}
12522# 3509
12523template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12524# 3511
12525nextafter(_Tp __x, _Up __y)
12526# 3512
12527{
12528# 3513
12529typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12530# 3514
12531return nextafter((__type)__x, (__type)__y);
12532# 3515
12533}
12534# 3517
12535template< class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12536# 3519
12537remainder(_Tp __x, _Up __y)
12538# 3520
12539{
12540# 3521
12541typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12542# 3522
12543return remainder((__type)__x, (__type)__y);
12544# 3523
12545}
12546# 3525
12547template< class _Tp, class _Up> inline typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type
12548# 3527
12549remquo(_Tp __x, _Up __y, int *__pquo)
12550# 3528
12551{
12552# 3529
12553typedef typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type __type;
12554# 3530
12555return remquo((__type)__x, (__type)__y, __pquo);
12556# 3531
12557}
12558# 3533
12559template< class _Tp, class _Up, class _Vp> constexpr typename __gnu_cxx::__promote_3< _Tp, _Up, _Vp> ::__type
12560# 3535
12561fma(_Tp __x, _Up __y, _Vp __z)
12562# 3536
12563{
12564# 3537
12565typedef typename __gnu_cxx::__promote_3< _Tp, _Up, _Vp> ::__type __type;
12566# 3538
12567return fma((__type)__x, (__type)__y, (__type)__z);
12568# 3539
12569}
12570# 3550 "/usr/include/c++/13/cmath" 3
12571template< class _Tp> inline _Tp
12572# 3552
12573__hypot3(_Tp __x, _Tp __y, _Tp __z)
12574# 3553
12575{
12576# 3554
12577__x = std::abs(__x);
12578# 3555
12579__y = std::abs(__y);
12580# 3556
12581__z = std::abs(__z);
12582# 3557
12583if (_Tp __a = (__x < __y) ? (__y < __z) ? __z : __y : ((__x < __z) ? __z : __x)) {
12584# 3558
12585return __a * std::sqrt((((__x / __a) * (__x / __a)) + ((__y / __a) * (__y / __a))) + ((__z / __a) * (__z / __a))); } else {
12586# 3562
12587return {}; }
12588# 3563
12589}
12590# 3566
12591inline float hypot(float __x, float __y, float __z)
12592# 3567
12593{ return std::__hypot3< float> (__x, __y, __z); }
12594# 3570
12595inline double hypot(double __x, double __y, double __z)
12596# 3571
12597{ return std::__hypot3< double> (__x, __y, __z); }
12598# 3574
12599inline long double hypot(long double __x, long double __y, long double __z)
12600# 3575
12601{ return std::__hypot3< long double> (__x, __y, __z); }
12602# 3577
12603template< class _Tp, class _Up, class _Vp> __gnu_cxx::__promoted_t< _Tp, _Up, _Vp>
12604# 3579
12605hypot(_Tp __x, _Up __y, _Vp __z)
12606# 3580
12607{
12608# 3581
12609using __type = __gnu_cxx::__promoted_t< _Tp, _Up, _Vp> ;
12610# 3582
12611return std::__hypot3< __gnu_cxx::__promoted_t< _Tp, _Up, _Vp> > (__x, __y, __z);
12612# 3583
12613}
12614# 3696 "/usr/include/c++/13/cmath" 3
12615}
12616# 42 "/usr/include/c++/13/bits/functexcept.h" 3
12617namespace std __attribute((__visibility__("default"))) {
12618# 49
12619void __throw_bad_exception() __attribute((__noreturn__));
12620# 53
12621void __throw_bad_alloc() __attribute((__noreturn__));
12622# 56
12623void __throw_bad_array_new_length() __attribute((__noreturn__));
12624# 60
12625void __throw_bad_cast() __attribute((__noreturn__));
12626# 63
12627void __throw_bad_typeid() __attribute((__noreturn__));
12628# 67
12629void __throw_logic_error(const char *) __attribute((__noreturn__));
12630# 70
12631void __throw_domain_error(const char *) __attribute((__noreturn__));
12632# 73
12633void __throw_invalid_argument(const char *) __attribute((__noreturn__));
12634# 76
12635void __throw_length_error(const char *) __attribute((__noreturn__));
12636# 79
12637void __throw_out_of_range(const char *) __attribute((__noreturn__));
12638# 82
12639void __throw_out_of_range_fmt(const char *, ...) __attribute((__noreturn__))
12640# 83
12641 __attribute((__format__(__gnu_printf__, 1, 2)));
12642# 86
12643void __throw_runtime_error(const char *) __attribute((__noreturn__));
12644# 89
12645void __throw_range_error(const char *) __attribute((__noreturn__));
12646# 92
12647void __throw_overflow_error(const char *) __attribute((__noreturn__));
12648# 95
12649void __throw_underflow_error(const char *) __attribute((__noreturn__));
12650# 99
12651void __throw_ios_failure(const char *) __attribute((__noreturn__));
12652# 102
12653void __throw_ios_failure(const char *, int) __attribute((__noreturn__));
12654# 106
12655void __throw_system_error(int) __attribute((__noreturn__));
12656# 110
12657void __throw_future_error(int) __attribute((__noreturn__));
12658# 114
12659void __throw_bad_function_call() __attribute((__noreturn__));
12660# 141 "/usr/include/c++/13/bits/functexcept.h" 3
12661}
12662# 37 "/usr/include/c++/13/ext/numeric_traits.h" 3
12663namespace __gnu_cxx __attribute((__visibility__("default"))) {
12664# 50 "/usr/include/c++/13/ext/numeric_traits.h" 3
12665template< class _Tp>
12666# 51
12667struct __is_integer_nonstrict : public std::__is_integer< _Tp> {
12668# 54
12669using std::__is_integer< _Tp> ::__value;
12670# 57
12671enum { __width = (__value) ? sizeof(_Tp) * (8) : (0)};
12672# 58
12673};
12674# 60
12675template< class _Value>
12676# 61
12677struct __numeric_traits_integer {
12678# 64
12679static_assert((__is_integer_nonstrict< _Value> ::__value), "invalid specialization");
12680# 70
12681static const bool __is_signed = (((_Value)(-1)) < 0);
12682# 71
12683static const int __digits = (__is_integer_nonstrict< _Value> ::__width - __is_signed);
12684# 75
12685static const _Value __max = (__is_signed ? (((((_Value)1) << (__digits - 1)) - 1) << 1) + 1 : (~((_Value)0)));
12686# 78
12687static const _Value __min = (__is_signed ? (-__max) - 1 : ((_Value)0));
12688# 79
12689};
12690# 81
12691template< class _Value> const _Value __numeric_traits_integer< _Value> ::__min;
12692# 84
12693template< class _Value> const _Value __numeric_traits_integer< _Value> ::__max;
12694# 87
12695template< class _Value> const bool __numeric_traits_integer< _Value> ::__is_signed;
12696# 90
12697template< class _Value> const int __numeric_traits_integer< _Value> ::__digits;
12698# 137 "/usr/include/c++/13/ext/numeric_traits.h" 3
12699template< class _Tp> using __int_traits = __numeric_traits_integer< _Tp> ;
12700# 157 "/usr/include/c++/13/ext/numeric_traits.h" 3
12701template< class _Value>
12702# 158
12703struct __numeric_traits_floating {
12704# 161
12705static const int __max_digits10 = ((2) + ((((std::template __are_same< _Value, float> ::__value) ? 24 : ((std::template __are_same< _Value, double> ::__value) ? 53 : 64)) * 643L) / (2136)));
12706# 164
12707static const bool __is_signed = true;
12708# 165
12709static const int __digits10 = ((std::template __are_same< _Value, float> ::__value) ? 6 : ((std::template __are_same< _Value, double> ::__value) ? 15 : 18));
12710# 166
12711static const int __max_exponent10 = ((std::template __are_same< _Value, float> ::__value) ? 38 : ((std::template __are_same< _Value, double> ::__value) ? 308 : 4932));
12712# 167
12713};
12714# 169
12715template< class _Value> const int __numeric_traits_floating< _Value> ::__max_digits10;
12716# 172
12717template< class _Value> const bool __numeric_traits_floating< _Value> ::__is_signed;
12718# 175
12719template< class _Value> const int __numeric_traits_floating< _Value> ::__digits10;
12720# 178
12721template< class _Value> const int __numeric_traits_floating< _Value> ::__max_exponent10;
12722# 186
12723template< class _Value>
12724# 187
12725struct __numeric_traits : public __numeric_traits_integer< _Value> {
12726# 189
12727};
12728# 192
12729template<> struct __numeric_traits< float> : public __numeric_traits_floating< float> {
12730# 194
12731};
12732# 197
12733template<> struct __numeric_traits< double> : public __numeric_traits_floating< double> {
12734# 199
12735};
12736# 202
12737template<> struct __numeric_traits< long double> : public __numeric_traits_floating< long double> {
12738# 204
12739};
12740# 239 "/usr/include/c++/13/ext/numeric_traits.h" 3
12741}
12742# 40 "/usr/include/c++/13/type_traits" 3
12743namespace std __attribute((__visibility__("default"))) {
12744# 44
12745template< class _Tp> class reference_wrapper;
12746# 61 "/usr/include/c++/13/type_traits" 3
12747template< class _Tp, _Tp __v>
12748# 62
12749struct integral_constant {
12750# 64
12751static constexpr inline _Tp value = (__v);
12752# 65
12753typedef _Tp value_type;
12754# 66
12755typedef integral_constant type;
12756# 67
12757constexpr operator value_type() const noexcept { return value; }
12758# 72
12759constexpr value_type operator()() const noexcept { return value; }
12760# 74
12761};
12762# 82
12763using true_type = integral_constant< bool, true> ;
12764# 85
12765using false_type = integral_constant< bool, false> ;
12766# 89
12767template< bool __v> using __bool_constant = integral_constant< bool, __v> ;
12768# 97
12769template< bool __v> using bool_constant = integral_constant< bool, __v> ;
12770# 105
12771template< bool , class _Tp = void>
12772# 106
12773struct enable_if {
12774# 107
12775};
12776# 110
12777template< class _Tp>
12778# 111
12779struct enable_if< true, _Tp> {
12780# 112
12781typedef _Tp type; };
12782# 115
12783template< bool _Cond, class _Tp = void> using __enable_if_t = typename enable_if< _Cond, _Tp> ::type;
12784# 118
12785template< bool >
12786# 119
12787struct __conditional {
12788# 121
12789template< class _Tp, class > using type = _Tp;
12790# 123
12791};
12792# 126
12793template<> struct __conditional< false> {
12794# 128
12795template< class , class _Up> using type = _Up;
12796# 130
12797};
12798# 133
12799template< bool _Cond, class _If, class _Else> using __conditional_t = typename __conditional< _Cond> ::template type< _If, _Else> ;
12800# 138
12801template< class _Type>
12802# 139
12803struct __type_identity {
12804# 140
12805using type = _Type; };
12806# 142
12807template< class _Tp> using __type_identity_t = typename __type_identity< _Tp> ::type;
12808# 145
12809namespace __detail {
12810# 148
12811template< class _Tp, class ...> using __first_t = _Tp;
12812# 152
12813template< class ..._Bn> auto __or_fn(int)->__first_t< integral_constant< bool, false> , __enable_if_t< !((bool)_Bn::value)> ...> ;
12814# 156
12815template< class ..._Bn> auto __or_fn(...)->true_type;
12816# 159
12817template< class ..._Bn> auto __and_fn(int)->__first_t< integral_constant< bool, true> , __enable_if_t< (bool)_Bn::value> ...> ;
12818# 163
12819template< class ..._Bn> auto __and_fn(...)->false_type;
12820# 165
12821}
12822# 170
12823template< class ..._Bn>
12824# 171
12825struct __or_ : public __decltype((__detail::__or_fn< _Bn...> (0))) {
12826# 173
12827};
12828# 175
12829template< class ..._Bn>
12830# 176
12831struct __and_ : public __decltype((__detail::__and_fn< _Bn...> (0))) {
12832# 178
12833};
12834# 180
12835template< class _Pp>
12836# 181
12837struct __not_ : public __bool_constant< !((bool)_Pp::value)> {
12838# 183
12839};
12840# 189
12841template< class ..._Bn> constexpr inline bool
12842# 190
12843__or_v = (__or_< _Bn...> ::value);
12844# 191
12845template< class ..._Bn> constexpr inline bool
12846# 192
12847__and_v = (__and_< _Bn...> ::value);
12848# 194
12849namespace __detail {
12850# 196
12851template< class , class _B1, class ..._Bn>
12852# 197
12853struct __disjunction_impl {
12854# 198
12855using type = _B1; };
12856# 200
12857template< class _B1, class _B2, class ..._Bn>
12858# 201
12859struct __disjunction_impl< __enable_if_t< !((bool)_B1::value)> , _B1, _B2, _Bn...> {
12860# 202
12861using type = typename __detail::__disjunction_impl< void, _B2, _Bn...> ::type; };
12862# 204
12863template< class , class _B1, class ..._Bn>
12864# 205
12865struct __conjunction_impl {
12866# 206
12867using type = _B1; };
12868# 208
12869template< class _B1, class _B2, class ..._Bn>
12870# 209
12871struct __conjunction_impl< __enable_if_t< (bool)_B1::value> , _B1, _B2, _Bn...> {
12872# 210
12873using type = typename __detail::__conjunction_impl< void, _B2, _Bn...> ::type; };
12874# 211
12875}
12876# 216
12877template< class ..._Bn>
12878# 217
12879struct conjunction : public __detail::__conjunction_impl< void, _Bn...> ::type {
12880# 219
12881};
12882# 222
12883template<> struct conjunction< > : public true_type {
12884# 224
12885};
12886# 226
12887template< class ..._Bn>
12888# 227
12889struct disjunction : public __detail::__disjunction_impl< void, _Bn...> ::type {
12890# 229
12891};
12892# 232
12893template<> struct disjunction< > : public false_type {
12894# 234
12895};
12896# 236
12897template< class _Pp>
12898# 237
12899struct negation : public __not_< _Pp> ::type {
12900# 239
12901};
12902# 244
12903template< class ..._Bn> constexpr inline bool
12904# 245
12905conjunction_v = (conjunction< _Bn...> ::value);
12906# 247
12907template< class ..._Bn> constexpr inline bool
12908# 248
12909disjunction_v = (disjunction< _Bn...> ::value);
12910# 250
12911template< class _Pp> constexpr inline bool
12912# 251
12913negation_v = (negation< _Pp> ::value);
12914# 257
12915template< class > struct is_reference;
12916# 259
12917template< class > struct is_function;
12918# 261
12919template< class > struct is_void;
12920# 263
12921template< class > struct remove_cv;
12922# 265
12923template< class > struct is_const;
12924# 269
12925template< class > struct __is_array_unknown_bounds;
12926# 275
12927template< class _Tp, size_t = sizeof(_Tp)> constexpr true_type
12928# 276
12929__is_complete_or_unbounded(__type_identity< _Tp> )
12930# 277
12931{ return {}; }
12932# 279
12933template< class _TypeIdentity, class
12934# 280
12935_NestedType = typename _TypeIdentity::type> constexpr typename __or_< is_reference< _NestedType> , is_function< _NestedType> , is_void< _NestedType> , __is_array_unknown_bounds< _NestedType> > ::type
12936# 286
12937__is_complete_or_unbounded(_TypeIdentity)
12938# 287
12939{ return {}; }
12940# 290
12941template< class _Tp> using __remove_cv_t = typename remove_cv< _Tp> ::type;
12942# 297
12943template< class _Tp>
12944# 298
12945struct is_void : public false_type {
12946# 299
12947};
12948# 302
12949template<> struct is_void< void> : public true_type {
12950# 303
12951};
12952# 306
12953template<> struct is_void< const void> : public true_type {
12954# 307
12955};
12956# 310
12957template<> struct is_void< volatile void> : public true_type {
12958# 311
12959};
12960# 314
12961template<> struct is_void< const volatile void> : public true_type {
12962# 315
12963};
12964# 318
12965template< class >
12966# 319
12967struct __is_integral_helper : public false_type {
12968# 320
12969};
12970# 323
12971template<> struct __is_integral_helper< bool> : public true_type {
12972# 324
12973};
12974# 327
12975template<> struct __is_integral_helper< char> : public true_type {
12976# 328
12977};
12978# 331
12979template<> struct __is_integral_helper< signed char> : public true_type {
12980# 332
12981};
12982# 335
12983template<> struct __is_integral_helper< unsigned char> : public true_type {
12984# 336
12985};
12986# 342
12987template<> struct __is_integral_helper< wchar_t> : public true_type {
12988# 343
12989};
12990# 352
12991template<> struct __is_integral_helper< char16_t> : public true_type {
12992# 353
12993};
12994# 356
12995template<> struct __is_integral_helper< char32_t> : public true_type {
12996# 357
12997};
12998# 360
12999template<> struct __is_integral_helper< short> : public true_type {
13000# 361
13001};
13002# 364
13003template<> struct __is_integral_helper< unsigned short> : public true_type {
13004# 365
13005};
13006# 368
13007template<> struct __is_integral_helper< int> : public true_type {
13008# 369
13009};
13010# 372
13011template<> struct __is_integral_helper< unsigned> : public true_type {
13012# 373
13013};
13014# 376
13015template<> struct __is_integral_helper< long> : public true_type {
13016# 377
13017};
13018# 380
13019template<> struct __is_integral_helper< unsigned long> : public true_type {
13020# 381
13021};
13022# 384
13023template<> struct __is_integral_helper< long long> : public true_type {
13024# 385
13025};
13026# 388
13027template<> struct __is_integral_helper< unsigned long long> : public true_type {
13028# 389
13029};
13030# 396
13031template<> struct __is_integral_helper< __int128> : public true_type {
13032# 397
13033};
13034# 401
13035template<> struct __is_integral_helper< unsigned __int128> : public true_type {
13036# 402
13037};
13038# 440 "/usr/include/c++/13/type_traits" 3
13039template< class _Tp>
13040# 441
13041struct is_integral : public __is_integral_helper< __remove_cv_t< _Tp> > ::type {
13042# 443
13043};
13044# 446
13045template< class >
13046# 447
13047struct __is_floating_point_helper : public false_type {
13048# 448
13049};
13050# 451
13051template<> struct __is_floating_point_helper< float> : public true_type {
13052# 452
13053};
13054# 455
13055template<> struct __is_floating_point_helper< double> : public true_type {
13056# 456
13057};
13058# 459
13059template<> struct __is_floating_point_helper< long double> : public true_type {
13060# 460
13061};
13062# 500 "/usr/include/c++/13/type_traits" 3
13063template< class _Tp>
13064# 501
13065struct is_floating_point : public __is_floating_point_helper< __remove_cv_t< _Tp> > ::type {
13066# 503
13067};
13068# 506
13069template< class >
13070# 507
13071struct is_array : public false_type {
13072# 508
13073};
13074# 510
13075template< class _Tp, size_t _Size>
13076# 511
13077struct is_array< _Tp [_Size]> : public true_type {
13078# 512
13079};
13080# 514
13081template< class _Tp>
13082# 515
13083struct is_array< _Tp []> : public true_type {
13084# 516
13085};
13086# 518
13087template< class >
13088# 519
13089struct __is_pointer_helper : public false_type {
13090# 520
13091};
13092# 522
13093template< class _Tp>
13094# 523
13095struct __is_pointer_helper< _Tp *> : public true_type {
13096# 524
13097};
13098# 527
13099template< class _Tp>
13100# 528
13101struct is_pointer : public __is_pointer_helper< __remove_cv_t< _Tp> > ::type {
13102# 530
13103};
13104# 533
13105template< class >
13106# 534
13107struct is_lvalue_reference : public false_type {
13108# 535
13109};
13110# 537
13111template< class _Tp>
13112# 538
13113struct is_lvalue_reference< _Tp &> : public true_type {
13114# 539
13115};
13116# 542
13117template< class >
13118# 543
13119struct is_rvalue_reference : public false_type {
13120# 544
13121};
13122# 546
13123template< class _Tp>
13124# 547
13125struct is_rvalue_reference< _Tp &&> : public true_type {
13126# 548
13127};
13128# 550
13129template< class >
13130# 551
13131struct __is_member_object_pointer_helper : public false_type {
13132# 552
13133};
13134# 554
13135template< class _Tp, class _Cp>
13136# 555
13137struct __is_member_object_pointer_helper< _Tp (_Cp::*)> : public __not_< is_function< _Tp> > ::type {
13138# 556
13139};
13140# 559
13141template< class _Tp>
13142# 560
13143struct is_member_object_pointer : public __is_member_object_pointer_helper< __remove_cv_t< _Tp> > ::type {
13144# 562
13145};
13146# 564
13147template< class >
13148# 565
13149struct __is_member_function_pointer_helper : public false_type {
13150# 566
13151};
13152# 568
13153template< class _Tp, class _Cp>
13154# 569
13155struct __is_member_function_pointer_helper< _Tp (_Cp::*)> : public is_function< _Tp> ::type {
13156# 570
13157};
13158# 573
13159template< class _Tp>
13160# 574
13161struct is_member_function_pointer : public __is_member_function_pointer_helper< __remove_cv_t< _Tp> > ::type {
13162# 576
13163};
13164# 579
13165template< class _Tp>
13166# 580
13167struct is_enum : public integral_constant< bool, __is_enum(_Tp)> {
13168# 582
13169};
13170# 585
13171template< class _Tp>
13172# 586
13173struct is_union : public integral_constant< bool, __is_union(_Tp)> {
13174# 588
13175};
13176# 591
13177template< class _Tp>
13178# 592
13179struct is_class : public integral_constant< bool, __is_class(_Tp)> {
13180# 594
13181};
13182# 597
13183template< class _Tp>
13184# 598
13185struct is_function : public __bool_constant< !is_const< const _Tp> ::value> {
13186# 599
13187};
13188# 601
13189template< class _Tp>
13190# 602
13191struct is_function< _Tp &> : public false_type {
13192# 603
13193};
13194# 605
13195template< class _Tp>
13196# 606
13197struct is_function< _Tp &&> : public false_type {
13198# 607
13199};
13200# 612
13201template< class _Tp>
13202# 613
13203struct is_null_pointer : public false_type {
13204# 614
13205};
13206# 617
13207template<> struct is_null_pointer< __decltype((nullptr))> : public true_type {
13208# 618
13209};
13210# 621
13211template<> struct is_null_pointer< const __decltype((nullptr))> : public true_type {
13212# 622
13213};
13214# 625
13215template<> struct is_null_pointer< volatile __decltype((nullptr))> : public true_type {
13216# 626
13217};
13218# 629
13219template<> struct is_null_pointer< const volatile __decltype((nullptr))> : public true_type {
13220# 630
13221};
13222# 634
13223template< class _Tp>
13224# 635
13225struct __is_nullptr_t : public is_null_pointer< _Tp> {
13226# 637
13227} __attribute((__deprecated__("use \'std::is_null_pointer\' instead")));
13228# 642
13229template< class _Tp>
13230# 643
13231struct is_reference : public false_type {
13232# 645
13233};
13234# 647
13235template< class _Tp>
13236# 648
13237struct is_reference< _Tp &> : public true_type {
13238# 650
13239};
13240# 652
13241template< class _Tp>
13242# 653
13243struct is_reference< _Tp &&> : public true_type {
13244# 655
13245};
13246# 658
13247template< class _Tp>
13248# 659
13249struct is_arithmetic : public __or_< is_integral< _Tp> , is_floating_point< _Tp> > ::type {
13250# 661
13251};
13252# 664
13253template< class _Tp>
13254# 665
13255struct is_fundamental : public __or_< is_arithmetic< _Tp> , is_void< _Tp> , is_null_pointer< _Tp> > ::type {
13256# 668
13257};
13258# 671
13259template< class _Tp>
13260# 672
13261struct is_object : public __not_< __or_< is_function< _Tp> , is_reference< _Tp> , is_void< _Tp> > > ::type {
13262# 675
13263};
13264# 677
13265template< class > struct is_member_pointer;
13266# 681
13267template< class _Tp>
13268# 682
13269struct is_scalar : public __or_< is_arithmetic< _Tp> , is_enum< _Tp> , is_pointer< _Tp> , is_member_pointer< _Tp> , is_null_pointer< _Tp> > ::type {
13270# 685
13271};
13272# 688
13273template< class _Tp>
13274# 689
13275struct is_compound : public __not_< is_fundamental< _Tp> > ::type {
13276# 690
13277};
13278# 693
13279template< class _Tp>
13280# 694
13281struct __is_member_pointer_helper : public false_type {
13282# 695
13283};
13284# 697
13285template< class _Tp, class _Cp>
13286# 698
13287struct __is_member_pointer_helper< _Tp (_Cp::*)> : public true_type {
13288# 699
13289};
13290# 703
13291template< class _Tp>
13292# 704
13293struct is_member_pointer : public __is_member_pointer_helper< __remove_cv_t< _Tp> > ::type {
13294# 706
13295};
13296# 708
13297template< class , class > struct is_same;
13298# 712
13299template< class _Tp, class ..._Types> using __is_one_of = __or_< is_same< _Tp, _Types> ...> ;
13300# 717
13301template< class _Tp> using __is_signed_integer = __is_one_of< __remove_cv_t< _Tp> , signed char, signed short, signed int, signed long, signed long long, signed __int128> ;
13302# 737 "/usr/include/c++/13/type_traits" 3
13303template< class _Tp> using __is_unsigned_integer = __is_one_of< __remove_cv_t< _Tp> , unsigned char, unsigned short, unsigned, unsigned long, unsigned long long, unsigned __int128> ;
13304# 756 "/usr/include/c++/13/type_traits" 3
13305template< class _Tp> using __is_standard_integer = __or_< __is_signed_integer< _Tp> , __is_unsigned_integer< _Tp> > ;
13306# 761
13307template< class ...> using __void_t = void;
13308# 767
13309template< class >
13310# 768
13311struct is_const : public false_type {
13312# 769
13313};
13314# 771
13315template< class _Tp>
13316# 772
13317struct is_const< const _Tp> : public true_type {
13318# 773
13319};
13320# 776
13321template< class >
13322# 777
13323struct is_volatile : public false_type {
13324# 778
13325};
13326# 780
13327template< class _Tp>
13328# 781
13329struct is_volatile< volatile _Tp> : public true_type {
13330# 782
13331};
13332# 785
13333template< class _Tp>
13334# 786
13335struct is_trivial : public integral_constant< bool, __is_trivial(_Tp)> {
13336# 789
13337static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13338# 791
13339};
13340# 794
13341template< class _Tp>
13342# 795
13343struct is_trivially_copyable : public integral_constant< bool, __is_trivially_copyable(_Tp)> {
13344# 798
13345static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13346# 800
13347};
13348# 803
13349template< class _Tp>
13350# 804
13351struct is_standard_layout : public integral_constant< bool, __is_standard_layout(_Tp)> {
13352# 807
13353static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13354# 809
13355};
13356# 816
13357template< class _Tp>
13358# 819
13359struct is_pod : public integral_constant< bool, __is_pod(_Tp)> {
13360# 822
13361static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13362# 824
13363};
13364# 830
13365template< class _Tp>
13366# 833
13367struct
13368# 832
13369 [[__deprecated__]] is_literal_type : public integral_constant< bool, __is_literal_type(_Tp)> {
13370# 836
13371static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13372# 838
13373};
13374# 841
13375template< class _Tp>
13376# 842
13377struct is_empty : public integral_constant< bool, __is_empty(_Tp)> {
13378# 844
13379};
13380# 847
13381template< class _Tp>
13382# 848
13383struct is_polymorphic : public integral_constant< bool, __is_polymorphic(_Tp)> {
13384# 850
13385};
13386# 856
13387template< class _Tp>
13388# 857
13389struct is_final : public integral_constant< bool, __is_final(_Tp)> {
13390# 859
13391};
13392# 863
13393template< class _Tp>
13394# 864
13395struct is_abstract : public integral_constant< bool, __is_abstract(_Tp)> {
13396# 866
13397};
13398# 869
13399template< class _Tp, bool
13400# 870
13401 = is_arithmetic< _Tp> ::value>
13402# 871
13403struct __is_signed_helper : public false_type {
13404# 872
13405};
13406# 874
13407template< class _Tp>
13408# 875
13409struct __is_signed_helper< _Tp, true> : public integral_constant< bool, ((_Tp)(-1)) < ((_Tp)0)> {
13410# 877
13411};
13412# 881
13413template< class _Tp>
13414# 882
13415struct is_signed : public __is_signed_helper< _Tp> ::type {
13416# 884
13417};
13418# 887
13419template< class _Tp>
13420# 888
13421struct is_unsigned : public __and_< is_arithmetic< _Tp> , __not_< is_signed< _Tp> > > ::type {
13422# 890
13423};
13424# 893
13425template< class _Tp, class _Up = _Tp &&> _Up __declval(int);
13426# 897
13427template< class _Tp> _Tp __declval(long);
13428# 902
13429template< class _Tp> auto declval() noexcept->__decltype((__declval< _Tp> (0)));
13430# 905
13431template< class > struct remove_all_extents;
13432# 909
13433template< class _Tp>
13434# 910
13435struct __is_array_known_bounds : public false_type {
13436# 912
13437};
13438# 914
13439template< class _Tp, size_t _Size>
13440# 915
13441struct __is_array_known_bounds< _Tp [_Size]> : public true_type {
13442# 917
13443};
13444# 919
13445template< class _Tp>
13446# 920
13447struct __is_array_unknown_bounds : public false_type {
13448# 922
13449};
13450# 924
13451template< class _Tp>
13452# 925
13453struct __is_array_unknown_bounds< _Tp []> : public true_type {
13454# 927
13455};
13456# 936 "/usr/include/c++/13/type_traits" 3
13457struct __do_is_destructible_impl {
13458# 938
13459template< class _Tp, class = __decltype((declval< _Tp &> ().~_Tp()))> static true_type __test(int);
13460# 941
13461template< class > static false_type __test(...);
13462# 943
13463};
13464# 945
13465template< class _Tp>
13466# 946
13467struct __is_destructible_impl : public __do_is_destructible_impl {
13468# 949
13469typedef __decltype((__test< _Tp> (0))) type;
13470# 950
13471};
13472# 952
13473template< class _Tp, bool
13474# 953
13475 = __or_< is_void< _Tp> , __is_array_unknown_bounds< _Tp> , is_function< _Tp> > ::value, bool
13476# 956
13477 = __or_< is_reference< _Tp> , is_scalar< _Tp> > ::value> struct __is_destructible_safe;
13478# 959
13479template< class _Tp>
13480# 960
13481struct __is_destructible_safe< _Tp, false, false> : public __is_destructible_impl< typename remove_all_extents< _Tp> ::type> ::type {
13482# 963
13483};
13484# 965
13485template< class _Tp>
13486# 966
13487struct __is_destructible_safe< _Tp, true, false> : public false_type {
13488# 967
13489};
13490# 969
13491template< class _Tp>
13492# 970
13493struct __is_destructible_safe< _Tp, false, true> : public true_type {
13494# 971
13495};
13496# 975
13497template< class _Tp>
13498# 976
13499struct is_destructible : public __is_destructible_safe< _Tp> ::type {
13500# 979
13501static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13502# 981
13503};
13504# 989
13505struct __do_is_nt_destructible_impl {
13506# 991
13507template< class _Tp> static __bool_constant< noexcept(declval< _Tp &> ().~_Tp())> __test(int);
13508# 995
13509template< class > static false_type __test(...);
13510# 997
13511};
13512# 999
13513template< class _Tp>
13514# 1000
13515struct __is_nt_destructible_impl : public __do_is_nt_destructible_impl {
13516# 1003
13517typedef __decltype((__test< _Tp> (0))) type;
13518# 1004
13519};
13520# 1006
13521template< class _Tp, bool
13522# 1007
13523 = __or_< is_void< _Tp> , __is_array_unknown_bounds< _Tp> , is_function< _Tp> > ::value, bool
13524# 1010
13525 = __or_< is_reference< _Tp> , is_scalar< _Tp> > ::value> struct __is_nt_destructible_safe;
13526# 1013
13527template< class _Tp>
13528# 1014
13529struct __is_nt_destructible_safe< _Tp, false, false> : public __is_nt_destructible_impl< typename remove_all_extents< _Tp> ::type> ::type {
13530# 1017
13531};
13532# 1019
13533template< class _Tp>
13534# 1020
13535struct __is_nt_destructible_safe< _Tp, true, false> : public false_type {
13536# 1021
13537};
13538# 1023
13539template< class _Tp>
13540# 1024
13541struct __is_nt_destructible_safe< _Tp, false, true> : public true_type {
13542# 1025
13543};
13544# 1029
13545template< class _Tp>
13546# 1030
13547struct is_nothrow_destructible : public __is_nt_destructible_safe< _Tp> ::type {
13548# 1033
13549static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13550# 1035
13551};
13552# 1038
13553template< class _Tp, class ..._Args> using __is_constructible_impl = __bool_constant< __is_constructible(_Tp, _Args...)> ;
13554# 1044
13555template< class _Tp, class ..._Args>
13556# 1045
13557struct is_constructible : public __is_constructible_impl< _Tp, _Args...> {
13558# 1048
13559static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13560# 1050
13561};
13562# 1053
13563template< class _Tp>
13564# 1054
13565struct is_default_constructible : public __is_constructible_impl< _Tp> {
13566# 1057
13567static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13568# 1059
13569};
13570# 1062
13571template< class _Tp, class = void>
13572# 1063
13573struct __add_lvalue_reference_helper {
13574# 1064
13575using type = _Tp; };
13576# 1066
13577template< class _Tp>
13578# 1067
13579struct __add_lvalue_reference_helper< _Tp, __void_t< _Tp &> > {
13580# 1068
13581using type = _Tp &; };
13582# 1070
13583template< class _Tp> using __add_lval_ref_t = typename __add_lvalue_reference_helper< _Tp> ::type;
13584# 1075
13585template< class _Tp>
13586# 1076
13587struct is_copy_constructible : public __is_constructible_impl< _Tp, __add_lval_ref_t< const _Tp> > {
13588# 1079
13589static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13590# 1081
13591};
13592# 1084
13593template< class _Tp, class = void>
13594# 1085
13595struct __add_rvalue_reference_helper {
13596# 1086
13597using type = _Tp; };
13598# 1088
13599template< class _Tp>
13600# 1089
13601struct __add_rvalue_reference_helper< _Tp, __void_t< _Tp &&> > {
13602# 1090
13603using type = _Tp &&; };
13604# 1092
13605template< class _Tp> using __add_rval_ref_t = typename __add_rvalue_reference_helper< _Tp> ::type;
13606# 1097
13607template< class _Tp>
13608# 1098
13609struct is_move_constructible : public __is_constructible_impl< _Tp, __add_rval_ref_t< _Tp> > {
13610# 1101
13611static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13612# 1103
13613};
13614# 1106
13615template< class _Tp, class ..._Args> using __is_nothrow_constructible_impl = __bool_constant< __is_nothrow_constructible(_Tp, _Args...)> ;
13616# 1112
13617template< class _Tp, class ..._Args>
13618# 1113
13619struct is_nothrow_constructible : public __is_nothrow_constructible_impl< _Tp, _Args...> {
13620# 1116
13621static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13622# 1118
13623};
13624# 1121
13625template< class _Tp>
13626# 1122
13627struct is_nothrow_default_constructible : public __is_nothrow_constructible_impl< _Tp> {
13628# 1125
13629static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13630# 1127
13631};
13632# 1130
13633template< class _Tp>
13634# 1131
13635struct is_nothrow_copy_constructible : public __is_nothrow_constructible_impl< _Tp, __add_lval_ref_t< const _Tp> > {
13636# 1134
13637static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13638# 1136
13639};
13640# 1139
13641template< class _Tp>
13642# 1140
13643struct is_nothrow_move_constructible : public __is_nothrow_constructible_impl< _Tp, __add_rval_ref_t< _Tp> > {
13644# 1143
13645static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13646# 1145
13647};
13648# 1148
13649template< class _Tp, class _Up> using __is_assignable_impl = __bool_constant< __is_assignable(_Tp, _Up)> ;
13650# 1153
13651template< class _Tp, class _Up>
13652# 1154
13653struct is_assignable : public __is_assignable_impl< _Tp, _Up> {
13654# 1157
13655static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13656# 1159
13657};
13658# 1162
13659template< class _Tp>
13660# 1163
13661struct is_copy_assignable : public __is_assignable_impl< __add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> > {
13662# 1167
13663static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13664# 1169
13665};
13666# 1172
13667template< class _Tp>
13668# 1173
13669struct is_move_assignable : public __is_assignable_impl< __add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> > {
13670# 1176
13671static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13672# 1178
13673};
13674# 1181
13675template< class _Tp, class _Up> using __is_nothrow_assignable_impl = __bool_constant< __is_nothrow_assignable(_Tp, _Up)> ;
13676# 1187
13677template< class _Tp, class _Up>
13678# 1188
13679struct is_nothrow_assignable : public __is_nothrow_assignable_impl< _Tp, _Up> {
13680# 1191
13681static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13682# 1193
13683};
13684# 1196
13685template< class _Tp>
13686# 1197
13687struct is_nothrow_copy_assignable : public __is_nothrow_assignable_impl< __add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> > {
13688# 1201
13689static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13690# 1203
13691};
13692# 1206
13693template< class _Tp>
13694# 1207
13695struct is_nothrow_move_assignable : public __is_nothrow_assignable_impl< __add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> > {
13696# 1211
13697static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13698# 1213
13699};
13700# 1216
13701template< class _Tp, class ..._Args> using __is_trivially_constructible_impl = __bool_constant< __is_trivially_constructible(_Tp, _Args...)> ;
13702# 1222
13703template< class _Tp, class ..._Args>
13704# 1223
13705struct is_trivially_constructible : public __is_trivially_constructible_impl< _Tp, _Args...> {
13706# 1226
13707static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13708# 1228
13709};
13710# 1231
13711template< class _Tp>
13712# 1232
13713struct is_trivially_default_constructible : public __is_trivially_constructible_impl< _Tp> {
13714# 1235
13715static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13716# 1237
13717};
13718# 1239
13719struct __do_is_implicitly_default_constructible_impl {
13720# 1241
13721template< class _Tp> static void __helper(const _Tp &);
13722# 1244
13723template< class _Tp> static true_type __test(const _Tp &, __decltype((__helper< const _Tp &> ({}))) * = 0);
13724# 1248
13725static false_type __test(...);
13726# 1249
13727};
13728# 1251
13729template< class _Tp>
13730# 1252
13731struct __is_implicitly_default_constructible_impl : public __do_is_implicitly_default_constructible_impl {
13732# 1255
13733typedef __decltype((__test(declval< _Tp> ()))) type;
13734# 1256
13735};
13736# 1258
13737template< class _Tp>
13738# 1259
13739struct __is_implicitly_default_constructible_safe : public __is_implicitly_default_constructible_impl< _Tp> ::type {
13740# 1261
13741};
13742# 1263
13743template< class _Tp>
13744# 1264
13745struct __is_implicitly_default_constructible : public __and_< __is_constructible_impl< _Tp> , __is_implicitly_default_constructible_safe< _Tp> > ::type {
13746# 1267
13747};
13748# 1270
13749template< class _Tp>
13750# 1271
13751struct is_trivially_copy_constructible : public __is_trivially_constructible_impl< _Tp, __add_lval_ref_t< const _Tp> > {
13752# 1274
13753static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13754# 1276
13755};
13756# 1279
13757template< class _Tp>
13758# 1280
13759struct is_trivially_move_constructible : public __is_trivially_constructible_impl< _Tp, __add_rval_ref_t< _Tp> > {
13760# 1283
13761static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13762# 1285
13763};
13764# 1288
13765template< class _Tp, class _Up> using __is_trivially_assignable_impl = __bool_constant< __is_trivially_assignable(_Tp, _Up)> ;
13766# 1294
13767template< class _Tp, class _Up>
13768# 1295
13769struct is_trivially_assignable : public __is_trivially_assignable_impl< _Tp, _Up> {
13770# 1298
13771static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13772# 1300
13773};
13774# 1303
13775template< class _Tp>
13776# 1304
13777struct is_trivially_copy_assignable : public __is_trivially_assignable_impl< __add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> > {
13778# 1308
13779static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13780# 1310
13781};
13782# 1313
13783template< class _Tp>
13784# 1314
13785struct is_trivially_move_assignable : public __is_trivially_assignable_impl< __add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> > {
13786# 1318
13787static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13788# 1320
13789};
13790# 1323
13791template< class _Tp>
13792# 1324
13793struct is_trivially_destructible : public __and_< __is_destructible_safe< _Tp> , __bool_constant< __has_trivial_destructor(_Tp)> > ::type {
13794# 1328
13795static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13796# 1330
13797};
13798# 1334
13799template< class _Tp>
13800# 1335
13801struct has_virtual_destructor : public integral_constant< bool, __has_virtual_destructor(_Tp)> {
13802# 1338
13803static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13804# 1340
13805};
13806# 1346
13807template< class _Tp>
13808# 1347
13809struct alignment_of : public integral_constant< unsigned long, __alignof__(_Tp)> {
13810# 1350
13811static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
13812# 1352
13813};
13814# 1355
13815template< class >
13816# 1356
13817struct rank : public integral_constant< unsigned long, 0UL> {
13818# 1357
13819};
13820# 1359
13821template< class _Tp, size_t _Size>
13822# 1360
13823struct rank< _Tp [_Size]> : public integral_constant< unsigned long, 1 + std::rank< _Tp> ::value> {
13824# 1361
13825};
13826# 1363
13827template< class _Tp>
13828# 1364
13829struct rank< _Tp []> : public integral_constant< unsigned long, 1 + std::rank< _Tp> ::value> {
13830# 1365
13831};
13832# 1368
13833template< class , unsigned _Uint = 0U>
13834# 1369
13835struct extent : public integral_constant< unsigned long, 0UL> {
13836# 1370
13837};
13838# 1372
13839template< class _Tp, size_t _Size>
13840# 1373
13841struct extent< _Tp [_Size], 0> : public integral_constant< unsigned long, _Size> {
13842# 1374
13843};
13844# 1376
13845template< class _Tp, unsigned _Uint, size_t _Size>
13846# 1377
13847struct extent< _Tp [_Size], _Uint> : public std::extent< _Tp, _Uint - (1)> ::type {
13848# 1378
13849};
13850# 1380
13851template< class _Tp>
13852# 1381
13853struct extent< _Tp [], 0> : public integral_constant< unsigned long, 0UL> {
13854# 1382
13855};
13856# 1384
13857template< class _Tp, unsigned _Uint>
13858# 1385
13859struct extent< _Tp [], _Uint> : public std::extent< _Tp, _Uint - (1)> ::type {
13860# 1386
13861};
13862# 1392
13863template< class _Tp, class _Up>
13864# 1393
13865struct is_same : public integral_constant< bool, __is_same(_Tp, _Up)> {
13866# 1399
13867};
13868# 1409 "/usr/include/c++/13/type_traits" 3
13869template< class _Base, class _Derived>
13870# 1410
13871struct is_base_of : public integral_constant< bool, __is_base_of(_Base, _Derived)> {
13872# 1412
13873};
13874# 1415
13875template< class _From, class _To>
13876# 1416
13877struct is_convertible : public __bool_constant< __is_convertible(_From, _To)> {
13878# 1418
13879};
13880# 1458 "/usr/include/c++/13/type_traits" 3
13881template< class _ToElementType, class _FromElementType> using __is_array_convertible = is_convertible< _FromElementType (*)[], _ToElementType (*)[]> ;
13882# 1522 "/usr/include/c++/13/type_traits" 3
13883template< class _Tp>
13884# 1523
13885struct remove_const {
13886# 1524
13887typedef _Tp type; };
13888# 1526
13889template< class _Tp>
13890# 1527
13891struct remove_const< const _Tp> {
13892# 1528
13893typedef _Tp type; };
13894# 1531
13895template< class _Tp>
13896# 1532
13897struct remove_volatile {
13898# 1533
13899typedef _Tp type; };
13900# 1535
13901template< class _Tp>
13902# 1536
13903struct remove_volatile< volatile _Tp> {
13904# 1537
13905typedef _Tp type; };
13906# 1541
13907template< class _Tp>
13908# 1542
13909struct remove_cv {
13910# 1543
13911using type = __remove_cv(_Tp); };
13912# 1563 "/usr/include/c++/13/type_traits" 3
13913template< class _Tp>
13914# 1564
13915struct add_const {
13916# 1565
13917using type = const _Tp; };
13918# 1568
13919template< class _Tp>
13920# 1569
13921struct add_volatile {
13922# 1570
13923using type = volatile _Tp; };
13924# 1573
13925template< class _Tp>
13926# 1574
13927struct add_cv {
13928# 1575
13929using type = const volatile _Tp; };
13930# 1582
13931template< class _Tp> using remove_const_t = typename remove_const< _Tp> ::type;
13932# 1586
13933template< class _Tp> using remove_volatile_t = typename remove_volatile< _Tp> ::type;
13934# 1590
13935template< class _Tp> using remove_cv_t = typename remove_cv< _Tp> ::type;
13936# 1594
13937template< class _Tp> using add_const_t = typename add_const< _Tp> ::type;
13938# 1598
13939template< class _Tp> using add_volatile_t = typename add_volatile< _Tp> ::type;
13940# 1602
13941template< class _Tp> using add_cv_t = typename add_cv< _Tp> ::type;
13942# 1610
13943template< class _Tp>
13944# 1611
13945struct remove_reference {
13946# 1612
13947using type = __remove_reference(_Tp); };
13948# 1628 "/usr/include/c++/13/type_traits" 3
13949template< class _Tp>
13950# 1629
13951struct add_lvalue_reference {
13952# 1630
13953using type = __add_lval_ref_t< _Tp> ; };
13954# 1633
13955template< class _Tp>
13956# 1634
13957struct add_rvalue_reference {
13958# 1635
13959using type = __add_rval_ref_t< _Tp> ; };
13960# 1639
13961template< class _Tp> using remove_reference_t = typename remove_reference< _Tp> ::type;
13962# 1643
13963template< class _Tp> using add_lvalue_reference_t = typename add_lvalue_reference< _Tp> ::type;
13964# 1647
13965template< class _Tp> using add_rvalue_reference_t = typename add_rvalue_reference< _Tp> ::type;
13966# 1656
13967template< class _Unqualified, bool _IsConst, bool _IsVol> struct __cv_selector;
13968# 1659
13969template< class _Unqualified>
13970# 1660
13971struct __cv_selector< _Unqualified, false, false> {
13972# 1661
13973typedef _Unqualified __type; };
13974# 1663
13975template< class _Unqualified>
13976# 1664
13977struct __cv_selector< _Unqualified, false, true> {
13978# 1665
13979typedef volatile _Unqualified __type; };
13980# 1667
13981template< class _Unqualified>
13982# 1668
13983struct __cv_selector< _Unqualified, true, false> {
13984# 1669
13985typedef const _Unqualified __type; };
13986# 1671
13987template< class _Unqualified>
13988# 1672
13989struct __cv_selector< _Unqualified, true, true> {
13990# 1673
13991typedef const volatile _Unqualified __type; };
13992# 1675
13993template< class _Qualified, class _Unqualified, bool
13994# 1676
13995_IsConst = is_const< _Qualified> ::value, bool
13996# 1677
13997_IsVol = is_volatile< _Qualified> ::value>
13998# 1678
13999class __match_cv_qualifiers {
14000# 1680
14001typedef __cv_selector< _Unqualified, _IsConst, _IsVol> __match;
14002# 1683
14003public: typedef typename __cv_selector< _Unqualified, _IsConst, _IsVol> ::__type __type;
14004# 1684
14005};
14006# 1687
14007template< class _Tp>
14008# 1688
14009struct __make_unsigned {
14010# 1689
14011typedef _Tp __type; };
14012# 1692
14013template<> struct __make_unsigned< char> {
14014# 1693
14015typedef unsigned char __type; };
14016# 1696
14017template<> struct __make_unsigned< signed char> {
14018# 1697
14019typedef unsigned char __type; };
14020# 1700
14021template<> struct __make_unsigned< short> {
14022# 1701
14023typedef unsigned short __type; };
14024# 1704
14025template<> struct __make_unsigned< int> {
14026# 1705
14027typedef unsigned __type; };
14028# 1708
14029template<> struct __make_unsigned< long> {
14030# 1709
14031typedef unsigned long __type; };
14032# 1712
14033template<> struct __make_unsigned< long long> {
14034# 1713
14035typedef unsigned long long __type; };
14036# 1718
14037template<> struct __make_unsigned< __int128> {
14038# 1719
14039typedef unsigned __int128 __type; };
14040# 1741 "/usr/include/c++/13/type_traits" 3
14041template< class _Tp, bool
14042# 1742
14043_IsInt = is_integral< _Tp> ::value, bool
14044# 1743
14045_IsEnum = is_enum< _Tp> ::value> class __make_unsigned_selector;
14046# 1746
14047template< class _Tp>
14048# 1747
14049class __make_unsigned_selector< _Tp, true, false> {
14050# 1749
14051using __unsigned_type = typename __make_unsigned< __remove_cv_t< _Tp> > ::__type;
14052# 1753
14053public: using __type = typename __match_cv_qualifiers< _Tp, __unsigned_type> ::__type;
14054# 1755
14055};
14056# 1757
14057class __make_unsigned_selector_base {
14058# 1760
14059protected: template< class ...> struct _List { };
14060# 1762
14061template< class _Tp, class ..._Up>
14062# 1763
14063struct _List< _Tp, _Up...> : public __make_unsigned_selector_base::template _List< _Up...> {
14064# 1764
14065static constexpr inline std::size_t __size = sizeof(_Tp); };
14066# 1766
14067template< size_t _Sz, class _Tp, bool = _Sz <= _Tp::__size> struct __select;
14068# 1769
14069template< size_t _Sz, class _Uint, class ..._UInts>
14070# 1770
14071struct __select< _Sz, _List< _Uint, _UInts...> , true> {
14072# 1771
14073using __type = _Uint; };
14074# 1773
14075template< size_t _Sz, class _Uint, class ..._UInts>
14076# 1774
14077struct __select< _Sz, _List< _Uint, _UInts...> , false> : public __make_unsigned_selector_base::template __select< _Sz, _List< _UInts...> > {
14078# 1776
14079};
14080# 1777
14081};
14082# 1780
14083template< class _Tp>
14084# 1781
14085class __make_unsigned_selector< _Tp, false, true> : private __make_unsigned_selector_base {
14086# 1785
14087using _UInts = _List< unsigned char, unsigned short, unsigned, unsigned long, unsigned long long> ;
14088# 1788
14089using __unsigned_type = typename __select< sizeof(_Tp), _List< unsigned char, unsigned short, unsigned, unsigned long, unsigned long long> > ::__type;
14090# 1791
14091public: using __type = typename __match_cv_qualifiers< _Tp, __unsigned_type> ::__type;
14092# 1793
14093};
14094# 1800
14095template<> struct __make_unsigned< wchar_t> {
14096# 1802
14097using __type = __make_unsigned_selector< wchar_t, false, true> ::__type;
14098# 1804
14099};
14100# 1816 "/usr/include/c++/13/type_traits" 3
14101template<> struct __make_unsigned< char16_t> {
14102# 1818
14103using __type = __make_unsigned_selector< char16_t, false, true> ::__type;
14104# 1820
14105};
14106# 1823
14107template<> struct __make_unsigned< char32_t> {
14108# 1825
14109using __type = __make_unsigned_selector< char32_t, false, true> ::__type;
14110# 1827
14111};
14112# 1834
14113template< class _Tp>
14114# 1835
14115struct make_unsigned {
14116# 1836
14117typedef typename __make_unsigned_selector< _Tp> ::__type type; };
14118# 1839
14119template<> struct make_unsigned< bool> ;
14120# 1840
14121template<> struct make_unsigned< const bool> ;
14122# 1841
14123template<> struct make_unsigned< volatile bool> ;
14124# 1842
14125template<> struct make_unsigned< const volatile bool> ;
14126# 1847
14127template< class _Tp>
14128# 1848
14129struct __make_signed {
14130# 1849
14131typedef _Tp __type; };
14132# 1852
14133template<> struct __make_signed< char> {
14134# 1853
14135typedef signed char __type; };
14136# 1856
14137template<> struct __make_signed< unsigned char> {
14138# 1857
14139typedef signed char __type; };
14140# 1860
14141template<> struct __make_signed< unsigned short> {
14142# 1861
14143typedef signed short __type; };
14144# 1864
14145template<> struct __make_signed< unsigned> {
14146# 1865
14147typedef signed int __type; };
14148# 1868
14149template<> struct __make_signed< unsigned long> {
14150# 1869
14151typedef signed long __type; };
14152# 1872
14153template<> struct __make_signed< unsigned long long> {
14154# 1873
14155typedef signed long long __type; };
14156# 1878
14157template<> struct __make_signed< unsigned __int128> {
14158# 1879
14159typedef __int128 __type; };
14160# 1901 "/usr/include/c++/13/type_traits" 3
14161template< class _Tp, bool
14162# 1902
14163_IsInt = is_integral< _Tp> ::value, bool
14164# 1903
14165_IsEnum = is_enum< _Tp> ::value> class __make_signed_selector;
14166# 1906
14167template< class _Tp>
14168# 1907
14169class __make_signed_selector< _Tp, true, false> {
14170# 1909
14171using __signed_type = typename __make_signed< __remove_cv_t< _Tp> > ::__type;
14172# 1913
14173public: using __type = typename __match_cv_qualifiers< _Tp, __signed_type> ::__type;
14174# 1915
14175};
14176# 1918
14177template< class _Tp>
14178# 1919
14179class __make_signed_selector< _Tp, false, true> {
14180# 1921
14181typedef typename __make_unsigned_selector< _Tp> ::__type __unsigned_type;
14182# 1924
14183public: typedef typename std::__make_signed_selector< __unsigned_type> ::__type __type;
14184# 1925
14185};
14186# 1932
14187template<> struct __make_signed< wchar_t> {
14188# 1934
14189using __type = __make_signed_selector< wchar_t, false, true> ::__type;
14190# 1936
14191};
14192# 1948 "/usr/include/c++/13/type_traits" 3
14193template<> struct __make_signed< char16_t> {
14194# 1950
14195using __type = __make_signed_selector< char16_t, false, true> ::__type;
14196# 1952
14197};
14198# 1955
14199template<> struct __make_signed< char32_t> {
14200# 1957
14201using __type = __make_signed_selector< char32_t, false, true> ::__type;
14202# 1959
14203};
14204# 1966
14205template< class _Tp>
14206# 1967
14207struct make_signed {
14208# 1968
14209typedef typename __make_signed_selector< _Tp> ::__type type; };
14210# 1971
14211template<> struct make_signed< bool> ;
14212# 1972
14213template<> struct make_signed< const bool> ;
14214# 1973
14215template<> struct make_signed< volatile bool> ;
14216# 1974
14217template<> struct make_signed< const volatile bool> ;
14218# 1978
14219template< class _Tp> using make_signed_t = typename make_signed< _Tp> ::type;
14220# 1982
14221template< class _Tp> using make_unsigned_t = typename make_unsigned< _Tp> ::type;
14222# 1989
14223template< class _Tp>
14224# 1990
14225struct remove_extent {
14226# 1991
14227typedef _Tp type; };
14228# 1993
14229template< class _Tp, size_t _Size>
14230# 1994
14231struct remove_extent< _Tp [_Size]> {
14232# 1995
14233typedef _Tp type; };
14234# 1997
14235template< class _Tp>
14236# 1998
14237struct remove_extent< _Tp []> {
14238# 1999
14239typedef _Tp type; };
14240# 2002
14241template< class _Tp>
14242# 2003
14243struct remove_all_extents {
14244# 2004
14245typedef _Tp type; };
14246# 2006
14247template< class _Tp, size_t _Size>
14248# 2007
14249struct remove_all_extents< _Tp [_Size]> {
14250# 2008
14251typedef typename std::remove_all_extents< _Tp> ::type type; };
14252# 2010
14253template< class _Tp>
14254# 2011
14255struct remove_all_extents< _Tp []> {
14256# 2012
14257typedef typename std::remove_all_extents< _Tp> ::type type; };
14258# 2016
14259template< class _Tp> using remove_extent_t = typename remove_extent< _Tp> ::type;
14260# 2020
14261template< class _Tp> using remove_all_extents_t = typename remove_all_extents< _Tp> ::type;
14262# 2026
14263template< class _Tp, class >
14264# 2027
14265struct __remove_pointer_helper {
14266# 2028
14267typedef _Tp type; };
14268# 2030
14269template< class _Tp, class _Up>
14270# 2031
14271struct __remove_pointer_helper< _Tp, _Up *> {
14272# 2032
14273typedef _Up type; };
14274# 2035
14275template< class _Tp>
14276# 2036
14277struct remove_pointer : public __remove_pointer_helper< _Tp, __remove_cv_t< _Tp> > {
14278# 2038
14279};
14280# 2040
14281template< class _Tp, class = void>
14282# 2041
14283struct __add_pointer_helper {
14284# 2042
14285using type = _Tp; };
14286# 2044
14287template< class _Tp>
14288# 2045
14289struct __add_pointer_helper< _Tp, __void_t< _Tp *> > {
14290# 2046
14291using type = _Tp *; };
14292# 2049
14293template< class _Tp>
14294# 2050
14295struct add_pointer : public __add_pointer_helper< _Tp> {
14296# 2052
14297};
14298# 2054
14299template< class _Tp>
14300# 2055
14301struct add_pointer< _Tp &> {
14302# 2056
14303using type = _Tp *; };
14304# 2058
14305template< class _Tp>
14306# 2059
14307struct add_pointer< _Tp &&> {
14308# 2060
14309using type = _Tp *; };
14310# 2064
14311template< class _Tp> using remove_pointer_t = typename remove_pointer< _Tp> ::type;
14312# 2068
14313template< class _Tp> using add_pointer_t = typename add_pointer< _Tp> ::type;
14314# 2072
14315template< size_t _Len>
14316# 2073
14317struct __aligned_storage_msa {
14318# 2075
14319union __type {
14320# 2077
14321unsigned char __data[_Len];
14322# 2078
14323struct __attribute((__aligned__)) { } __align;
14324# 2079
14325};
14326# 2080
14327};
14328# 2095 "/usr/include/c++/13/type_traits" 3
14329template< size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa< _Len> ::__type)>
14330# 2099
14331struct aligned_storage {
14332# 2101
14333union type {
14334# 2103
14335unsigned char __data[_Len];
14336# 2104
14337struct __attribute((__aligned__(_Align))) { } __align;
14338# 2105
14339};
14340# 2106
14341};
14342# 2108
14343template< class ..._Types>
14344# 2109
14345struct __strictest_alignment {
14346# 2111
14347static const size_t _S_alignment = (0);
14348# 2112
14349static const size_t _S_size = (0);
14350# 2113
14351};
14352# 2115
14353template< class _Tp, class ..._Types>
14354# 2116
14355struct __strictest_alignment< _Tp, _Types...> {
14356# 2118
14357static const size_t _S_alignment = ((__alignof__(_Tp) > __strictest_alignment< _Types...> ::_S_alignment) ? __alignof__(_Tp) : __strictest_alignment< _Types...> ::_S_alignment);
14358# 2121
14359static const size_t _S_size = ((sizeof(_Tp) > __strictest_alignment< _Types...> ::_S_size) ? sizeof(_Tp) : __strictest_alignment< _Types...> ::_S_size);
14360# 2124
14361};
14362# 2126
14363#pragma GCC diagnostic push
14364#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
14365# 2141 "/usr/include/c++/13/type_traits" 3
14366template< size_t _Len, class ..._Types>
14367# 2144
14368struct aligned_union {
14369# 2147
14370static_assert((sizeof...(_Types) != (0)), "At least one type is required");
14371# 2149
14372private: using __strictest = __strictest_alignment< _Types...> ;
14373# 2150
14374static const size_t _S_len = ((_Len > __strictest::_S_size) ? _Len : __strictest::_S_size);
14375# 2154
14376public: static const size_t alignment_value = (__strictest::_S_alignment);
14377# 2156
14378typedef typename aligned_storage< _S_len, alignment_value> ::type type;
14379# 2157
14380};
14381# 2159
14382template< size_t _Len, class ..._Types> const size_t aligned_union< _Len, _Types...> ::alignment_value;
14383# 2161
14384#pragma GCC diagnostic pop
14385# 2167
14386template< class _Up>
14387# 2168
14388struct __decay_selector : public __conditional_t< is_const< const _Up> ::value, remove_cv< _Up> , add_pointer< _Up> > {
14389# 2172
14390};
14391# 2174
14392template< class _Up, size_t _Nm>
14393# 2175
14394struct __decay_selector< _Up [_Nm]> {
14395# 2176
14396using type = _Up *; };
14397# 2178
14398template< class _Up>
14399# 2179
14400struct __decay_selector< _Up []> {
14401# 2180
14402using type = _Up *; };
14403# 2185
14404template< class _Tp>
14405# 2186
14406struct decay {
14407# 2187
14408using type = typename __decay_selector< _Tp> ::type; };
14409# 2189
14410template< class _Tp>
14411# 2190
14412struct decay< _Tp &> {
14413# 2191
14414using type = typename __decay_selector< _Tp> ::type; };
14415# 2193
14416template< class _Tp>
14417# 2194
14418struct decay< _Tp &&> {
14419# 2195
14420using type = typename __decay_selector< _Tp> ::type; };
14421# 2200
14422template< class _Tp>
14423# 2201
14424struct __strip_reference_wrapper {
14425# 2203
14426typedef _Tp __type;
14427# 2204
14428};
14429# 2206
14430template< class _Tp>
14431# 2207
14432struct __strip_reference_wrapper< reference_wrapper< _Tp> > {
14433# 2209
14434typedef _Tp &__type;
14435# 2210
14436};
14437# 2213
14438template< class _Tp> using __decay_t = typename decay< _Tp> ::type;
14439# 2216
14440template< class _Tp> using __decay_and_strip = __strip_reference_wrapper< __decay_t< _Tp> > ;
14441# 2223
14442template< class ..._Cond> using _Require = __enable_if_t< __and_< _Cond...> ::value> ;
14443# 2227
14444template< class _Tp> using __remove_cvref_t = typename remove_cv< typename remove_reference< _Tp> ::type> ::type;
14445# 2234
14446template< bool _Cond, class _Iftrue, class _Iffalse>
14447# 2235
14448struct conditional {
14449# 2236
14450typedef _Iftrue type; };
14451# 2239
14452template< class _Iftrue, class _Iffalse>
14453# 2240
14454struct conditional< false, _Iftrue, _Iffalse> {
14455# 2241
14456typedef _Iffalse type; };
14457# 2244
14458template< class ..._Tp> struct common_type;
14459# 2256 "/usr/include/c++/13/type_traits" 3
14460template< class _Tp>
14461# 2257
14462struct __success_type {
14463# 2258
14464typedef _Tp type; };
14465# 2260
14466struct __failure_type {
14467# 2261
14468};
14469# 2263
14470struct __do_common_type_impl {
14471# 2265
14472template< class _Tp, class _Up> using __cond_t = __decltype((true ? std::declval< _Tp> () : std::declval< _Up> ()));
14473# 2271
14474template< class _Tp, class _Up> static __success_type< __decay_t< __cond_t< _Tp, _Up> > > _S_test(int);
14475# 2283 "/usr/include/c++/13/type_traits" 3
14476template< class , class > static __failure_type _S_test_2(...);
14477# 2287
14478template< class _Tp, class _Up> static __decltype((_S_test_2< _Tp, _Up> (0))) _S_test(...);
14479# 2290
14480};
14481# 2294
14482template<> struct common_type< > {
14483# 2295
14484};
14485# 2298
14486template< class _Tp0>
14487# 2299
14488struct common_type< _Tp0> : public std::common_type< _Tp0, _Tp0> {
14489# 2301
14490};
14491# 2304
14492template< class _Tp1, class _Tp2, class
14493# 2305
14494_Dp1 = __decay_t< _Tp1> , class _Dp2 = __decay_t< _Tp2> >
14495# 2306
14496struct __common_type_impl {
14497# 2310
14498using type = common_type< _Dp1, _Dp2> ;
14499# 2311
14500};
14501# 2313
14502template< class _Tp1, class _Tp2>
14503# 2314
14504struct __common_type_impl< _Tp1, _Tp2, _Tp1, _Tp2> : private __do_common_type_impl {
14505# 2319
14506using type = __decltype((_S_test< _Tp1, _Tp2> (0)));
14507# 2320
14508};
14509# 2323
14510template< class _Tp1, class _Tp2>
14511# 2324
14512struct common_type< _Tp1, _Tp2> : public __common_type_impl< _Tp1, _Tp2> ::type {
14513# 2326
14514};
14515# 2328
14516template< class ...>
14517# 2329
14518struct __common_type_pack {
14519# 2330
14520};
14521# 2332
14522template< class , class , class = void> struct __common_type_fold;
14523# 2336
14524template< class _Tp1, class _Tp2, class ..._Rp>
14525# 2337
14526struct common_type< _Tp1, _Tp2, _Rp...> : public __common_type_fold< std::common_type< _Tp1, _Tp2> , __common_type_pack< _Rp...> > {
14527# 2340
14528};
14529# 2345
14530template< class _CTp, class ..._Rp>
14531# 2346
14532struct __common_type_fold< _CTp, __common_type_pack< _Rp...> , __void_t< typename _CTp::type> > : public common_type< typename _CTp::type, _Rp...> {
14533# 2349
14534};
14535# 2352
14536template< class _CTp, class _Rp>
14537# 2353
14538struct __common_type_fold< _CTp, _Rp, void> {
14539# 2354
14540};
14541# 2356
14542template< class _Tp, bool = is_enum< _Tp> ::value>
14543# 2357
14544struct __underlying_type_impl {
14545# 2359
14546using type = __underlying_type(_Tp);
14547# 2360
14548};
14549# 2362
14550template< class _Tp>
14551# 2363
14552struct __underlying_type_impl< _Tp, false> {
14553# 2364
14554};
14555# 2368
14556template< class _Tp>
14557# 2369
14558struct underlying_type : public __underlying_type_impl< _Tp> {
14559# 2371
14560};
14561# 2374
14562template< class _Tp>
14563# 2375
14564struct __declval_protector {
14565# 2377
14566static const bool __stop = false;
14567# 2378
14568};
14569# 2385
14570template< class _Tp> auto
14571# 2386
14572declval() noexcept->__decltype((__declval< _Tp> (0)))
14573# 2387
14574{
14575# 2388
14576static_assert((__declval_protector< _Tp> ::__stop), "declval() must not be used!");
14577# 2390
14578return __declval< _Tp> (0);
14579# 2391
14580}
14581# 2394
14582template< class _Signature> struct result_of;
14583# 2402
14584struct __invoke_memfun_ref { };
14585# 2403
14586struct __invoke_memfun_deref { };
14587# 2404
14588struct __invoke_memobj_ref { };
14589# 2405
14590struct __invoke_memobj_deref { };
14591# 2406
14592struct __invoke_other { };
14593# 2409
14594template< class _Tp, class _Tag>
14595# 2410
14596struct __result_of_success : public __success_type< _Tp> {
14597# 2411
14598using __invoke_type = _Tag; };
14599# 2414
14600struct __result_of_memfun_ref_impl {
14601# 2416
14602template< class _Fp, class _Tp1, class ..._Args> static __result_of_success< __decltype(((std::declval< _Tp1> ().*std::declval< _Fp> ())(std::declval< _Args> ()...))), __invoke_memfun_ref> _S_test(int);
14603# 2421
14604template< class ...> static __failure_type _S_test(...);
14605# 2423
14606};
14607# 2425
14608template< class _MemPtr, class _Arg, class ..._Args>
14609# 2426
14610struct __result_of_memfun_ref : private __result_of_memfun_ref_impl {
14611# 2429
14612typedef __decltype((_S_test< _MemPtr, _Arg, _Args...> (0))) type;
14613# 2430
14614};
14615# 2433
14616struct __result_of_memfun_deref_impl {
14617# 2435
14618template< class _Fp, class _Tp1, class ..._Args> static __result_of_success< __decltype((((*std::declval< _Tp1> ()).*std::declval< _Fp> ())(std::declval< _Args> ()...))), __invoke_memfun_deref> _S_test(int);
14619# 2440
14620template< class ...> static __failure_type _S_test(...);
14621# 2442
14622};
14623# 2444
14624template< class _MemPtr, class _Arg, class ..._Args>
14625# 2445
14626struct __result_of_memfun_deref : private __result_of_memfun_deref_impl {
14627# 2448
14628typedef __decltype((_S_test< _MemPtr, _Arg, _Args...> (0))) type;
14629# 2449
14630};
14631# 2452
14632struct __result_of_memobj_ref_impl {
14633# 2454
14634template< class _Fp, class _Tp1> static __result_of_success< __decltype((std::declval< _Tp1> ().*std::declval< _Fp> ())), __invoke_memobj_ref> _S_test(int);
14635# 2459
14636template< class , class > static __failure_type _S_test(...);
14637# 2461
14638};
14639# 2463
14640template< class _MemPtr, class _Arg>
14641# 2464
14642struct __result_of_memobj_ref : private __result_of_memobj_ref_impl {
14643# 2467
14644typedef __decltype((_S_test< _MemPtr, _Arg> (0))) type;
14645# 2468
14646};
14647# 2471
14648struct __result_of_memobj_deref_impl {
14649# 2473
14650template< class _Fp, class _Tp1> static __result_of_success< __decltype(((*std::declval< _Tp1> ()).*std::declval< _Fp> ())), __invoke_memobj_deref> _S_test(int);
14651# 2478
14652template< class , class > static __failure_type _S_test(...);
14653# 2480
14654};
14655# 2482
14656template< class _MemPtr, class _Arg>
14657# 2483
14658struct __result_of_memobj_deref : private __result_of_memobj_deref_impl {
14659# 2486
14660typedef __decltype((_S_test< _MemPtr, _Arg> (0))) type;
14661# 2487
14662};
14663# 2489
14664template< class _MemPtr, class _Arg> struct __result_of_memobj;
14665# 2492
14666template< class _Res, class _Class, class _Arg>
14667# 2493
14668struct __result_of_memobj< _Res (_Class::*), _Arg> {
14669# 2495
14670typedef __remove_cvref_t< _Arg> _Argval;
14671# 2496
14672typedef _Res (_Class::*_MemPtr);
14673# 2501
14674typedef typename __conditional_t< __or_< is_same< _Argval, _Class> , is_base_of< _Class, _Argval> > ::value, __result_of_memobj_ref< _MemPtr, _Arg> , __result_of_memobj_deref< _MemPtr, _Arg> > ::type type;
14675# 2502
14676};
14677# 2504
14678template< class _MemPtr, class _Arg, class ..._Args> struct __result_of_memfun;
14679# 2507
14680template< class _Res, class _Class, class _Arg, class ..._Args>
14681# 2508
14682struct __result_of_memfun< _Res (_Class::*), _Arg, _Args...> {
14683# 2510
14684typedef typename remove_reference< _Arg> ::type _Argval;
14685# 2511
14686typedef _Res (_Class::*_MemPtr);
14687# 2515
14688typedef typename __conditional_t< is_base_of< _Class, _Argval> ::value, __result_of_memfun_ref< _MemPtr, _Arg, _Args...> , __result_of_memfun_deref< _MemPtr, _Arg, _Args...> > ::type type;
14689# 2516
14690};
14691# 2523
14692template< class _Tp, class _Up = __remove_cvref_t< _Tp> >
14693# 2524
14694struct __inv_unwrap {
14695# 2526
14696using type = _Tp;
14697# 2527
14698};
14699# 2529
14700template< class _Tp, class _Up>
14701# 2530
14702struct __inv_unwrap< _Tp, reference_wrapper< _Up> > {
14703# 2532
14704using type = _Up &;
14705# 2533
14706};
14707# 2535
14708template< bool , bool , class _Functor, class ..._ArgTypes>
14709# 2536
14710struct __result_of_impl {
14711# 2538
14712typedef __failure_type type;
14713# 2539
14714};
14715# 2541
14716template< class _MemPtr, class _Arg>
14717# 2542
14718struct __result_of_impl< true, false, _MemPtr, _Arg> : public __result_of_memobj< __decay_t< _MemPtr> , typename __inv_unwrap< _Arg> ::type> {
14719# 2545
14720};
14721# 2547
14722template< class _MemPtr, class _Arg, class ..._Args>
14723# 2548
14724struct __result_of_impl< false, true, _MemPtr, _Arg, _Args...> : public __result_of_memfun< __decay_t< _MemPtr> , typename __inv_unwrap< _Arg> ::type, _Args...> {
14725# 2551
14726};
14727# 2554
14728struct __result_of_other_impl {
14729# 2556
14730template< class _Fn, class ..._Args> static __result_of_success< __decltype((std::declval< _Fn> ()(std::declval< _Args> ()...))), __invoke_other> _S_test(int);
14731# 2561
14732template< class ...> static __failure_type _S_test(...);
14733# 2563
14734};
14735# 2565
14736template< class _Functor, class ..._ArgTypes>
14737# 2566
14738struct __result_of_impl< false, false, _Functor, _ArgTypes...> : private __result_of_other_impl {
14739# 2569
14740typedef __decltype((_S_test< _Functor, _ArgTypes...> (0))) type;
14741# 2570
14742};
14743# 2573
14744template< class _Functor, class ..._ArgTypes>
14745# 2574
14746struct __invoke_result : public __result_of_impl< is_member_object_pointer< typename remove_reference< _Functor> ::type> ::value, is_member_function_pointer< typename remove_reference< _Functor> ::type> ::value, _Functor, _ArgTypes...> ::type {
14747# 2584
14748};
14749# 2587
14750template< class _Functor, class ..._ArgTypes>
14751# 2588
14752struct result_of< _Functor (_ArgTypes ...)> : public __invoke_result< _Functor, _ArgTypes...> {
14753# 2590
14754} __attribute((__deprecated__("use \'std::invoke_result\' instead")));
14755# 2593
14756#pragma GCC diagnostic push
14757#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
14758# 2596
14759template< size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa< _Len> ::__type)> using aligned_storage_t = typename aligned_storage< _Len, _Align> ::type;
14760# 2600
14761template< size_t _Len, class ..._Types> using aligned_union_t = typename aligned_union< _Len, _Types...> ::type;
14762# 2602
14763#pragma GCC diagnostic pop
14764# 2605
14765template< class _Tp> using decay_t = typename decay< _Tp> ::type;
14766# 2609
14767template< bool _Cond, class _Tp = void> using enable_if_t = typename enable_if< _Cond, _Tp> ::type;
14768# 2613
14769template< bool _Cond, class _Iftrue, class _Iffalse> using conditional_t = typename conditional< _Cond, _Iftrue, _Iffalse> ::type;
14770# 2617
14771template< class ..._Tp> using common_type_t = typename common_type< _Tp...> ::type;
14772# 2621
14773template< class _Tp> using underlying_type_t = typename underlying_type< _Tp> ::type;
14774# 2625
14775template< class _Tp> using result_of_t = typename result_of< _Tp> ::type;
14776# 2632
14777template< class ...> using void_t = void;
14778# 2659 "/usr/include/c++/13/type_traits" 3
14779template< class _Default, class _AlwaysVoid,
14780# 2660
14781template< class ...> class _Op, class ..._Args>
14782# 2661
14783struct __detector {
14784# 2663
14785using type = _Default;
14786# 2664
14787using __is_detected = false_type;
14788# 2665
14789};
14790# 2668
14791template< class _Default, template< class ...> class _Op, class ...
14792# 2669
14793_Args>
14794# 2670
14795struct __detector< _Default, __void_t< _Op< _Args...> > , _Op, _Args...> {
14796# 2672
14797using type = _Op< _Args...> ;
14798# 2673
14799using __is_detected = true_type;
14800# 2674
14801};
14802# 2676
14803template< class _Default, template< class ...> class _Op, class ...
14804# 2677
14805_Args> using __detected_or = __detector< _Default, void, _Op, _Args...> ;
14806# 2682
14807template< class _Default, template< class ...> class _Op, class ...
14808# 2683
14809_Args> using __detected_or_t = typename __detected_or< _Default, _Op, _Args...> ::type;
14810# 2701 "/usr/include/c++/13/type_traits" 3
14811template< class _Tp> struct __is_swappable;
14812# 2704
14813template< class _Tp> struct __is_nothrow_swappable;
14814# 2707
14815template< class >
14816# 2708
14817struct __is_tuple_like_impl : public false_type {
14818# 2709
14819};
14820# 2712
14821template< class _Tp>
14822# 2713
14823struct __is_tuple_like : public __is_tuple_like_impl< __remove_cvref_t< _Tp> > ::type {
14824# 2715
14825};
14826# 2718
14827template< class _Tp> inline _Require< __not_< __is_tuple_like< _Tp> > , is_move_constructible< _Tp> , is_move_assignable< _Tp> > swap(_Tp &, _Tp &) noexcept(__and_< is_nothrow_move_constructible< _Tp> , is_nothrow_move_assignable< _Tp> > ::value);
14828# 2728
14829template< class _Tp, size_t _Nm> inline __enable_if_t< __is_swappable< _Tp> ::value> swap(_Tp (& __a)[_Nm], _Tp (& __b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp> ::value);
14830# 2736
14831namespace __swappable_details {
14832# 2737
14833using std::swap;
14834# 2739
14835struct __do_is_swappable_impl {
14836# 2741
14837template< class _Tp, class
14838# 2742
14839 = __decltype((swap(std::declval< _Tp &> (), std::declval< _Tp &> ())))> static true_type
14840# 2741
14841__test(int);
14842# 2745
14843template< class > static false_type __test(...);
14844# 2747
14845};
14846# 2749
14847struct __do_is_nothrow_swappable_impl {
14848# 2751
14849template< class _Tp> static __bool_constant< noexcept(swap(std::declval< _Tp &> (), std::declval< _Tp &> ()))> __test(int);
14850# 2756
14851template< class > static false_type __test(...);
14852# 2758
14853};
14854# 2760
14855}
14856# 2762
14857template< class _Tp>
14858# 2763
14859struct __is_swappable_impl : public __swappable_details::__do_is_swappable_impl {
14860# 2766
14861typedef __decltype((__test< _Tp> (0))) type;
14862# 2767
14863};
14864# 2769
14865template< class _Tp>
14866# 2770
14867struct __is_nothrow_swappable_impl : public __swappable_details::__do_is_nothrow_swappable_impl {
14868# 2773
14869typedef __decltype((__test< _Tp> (0))) type;
14870# 2774
14871};
14872# 2776
14873template< class _Tp>
14874# 2777
14875struct __is_swappable : public __is_swappable_impl< _Tp> ::type {
14876# 2779
14877};
14878# 2781
14879template< class _Tp>
14880# 2782
14881struct __is_nothrow_swappable : public __is_nothrow_swappable_impl< _Tp> ::type {
14882# 2784
14883};
14884# 2792
14885template< class _Tp>
14886# 2793
14887struct is_swappable : public __is_swappable_impl< _Tp> ::type {
14888# 2796
14889static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
14890# 2798
14891};
14892# 2801
14893template< class _Tp>
14894# 2802
14895struct is_nothrow_swappable : public __is_nothrow_swappable_impl< _Tp> ::type {
14896# 2805
14897static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
14898# 2807
14899};
14900# 2811
14901template< class _Tp> constexpr inline bool
14902# 2812
14903is_swappable_v = (is_swappable< _Tp> ::value);
14904# 2816
14905template< class _Tp> constexpr inline bool
14906# 2817
14907is_nothrow_swappable_v = (is_nothrow_swappable< _Tp> ::value);
14908# 2822
14909namespace __swappable_with_details {
14910# 2823
14911using std::swap;
14912# 2825
14913struct __do_is_swappable_with_impl {
14914# 2827
14915template< class _Tp, class _Up, class
14916# 2828
14917 = __decltype((swap(std::declval< _Tp> (), std::declval< _Up> ()))), class
14918# 2830
14919 = __decltype((swap(std::declval< _Up> (), std::declval< _Tp> ())))> static true_type
14920# 2827
14921__test(int);
14922# 2833
14923template< class , class > static false_type __test(...);
14924# 2835
14925};
14926# 2837
14927struct __do_is_nothrow_swappable_with_impl {
14928# 2839
14929template< class _Tp, class _Up> static __bool_constant< noexcept(swap(std::declval< _Tp> (), std::declval< _Up> ())) && noexcept(swap(std::declval< _Up> (), std::declval< _Tp> ()))> __test(int);
14930# 2846
14931template< class , class > static false_type __test(...);
14932# 2848
14933};
14934# 2850
14935}
14936# 2852
14937template< class _Tp, class _Up>
14938# 2853
14939struct __is_swappable_with_impl : public __swappable_with_details::__do_is_swappable_with_impl {
14940# 2856
14941typedef __decltype((__test< _Tp, _Up> (0))) type;
14942# 2857
14943};
14944# 2860
14945template< class _Tp>
14946# 2861
14947struct __is_swappable_with_impl< _Tp &, _Tp &> : public __swappable_details::__do_is_swappable_impl {
14948# 2864
14949typedef __decltype((__test< _Tp &> (0))) type;
14950# 2865
14951};
14952# 2867
14953template< class _Tp, class _Up>
14954# 2868
14955struct __is_nothrow_swappable_with_impl : public __swappable_with_details::__do_is_nothrow_swappable_with_impl {
14956# 2871
14957typedef __decltype((__test< _Tp, _Up> (0))) type;
14958# 2872
14959};
14960# 2875
14961template< class _Tp>
14962# 2876
14963struct __is_nothrow_swappable_with_impl< _Tp &, _Tp &> : public __swappable_details::__do_is_nothrow_swappable_impl {
14964# 2879
14965typedef __decltype((__test< _Tp &> (0))) type;
14966# 2880
14967};
14968# 2884
14969template< class _Tp, class _Up>
14970# 2885
14971struct is_swappable_with : public __is_swappable_with_impl< _Tp, _Up> ::type {
14972# 2888
14973static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "first template argument must be a complete class or an unbounded array");
14974# 2890
14975static_assert((std::__is_complete_or_unbounded(__type_identity< _Up> {})), "second template argument must be a complete class or an unbounded array");
14976# 2892
14977};
14978# 2895
14979template< class _Tp, class _Up>
14980# 2896
14981struct is_nothrow_swappable_with : public __is_nothrow_swappable_with_impl< _Tp, _Up> ::type {
14982# 2899
14983static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "first template argument must be a complete class or an unbounded array");
14984# 2901
14985static_assert((std::__is_complete_or_unbounded(__type_identity< _Up> {})), "second template argument must be a complete class or an unbounded array");
14986# 2903
14987};
14988# 2907
14989template< class _Tp, class _Up> constexpr inline bool
14990# 2908
14991is_swappable_with_v = (is_swappable_with< _Tp, _Up> ::value);
14992# 2912
14993template< class _Tp, class _Up> constexpr inline bool
14994# 2913
14995is_nothrow_swappable_with_v = (is_nothrow_swappable_with< _Tp, _Up> ::value);
14996# 2924 "/usr/include/c++/13/type_traits" 3
14997template< class _Result, class _Ret, bool
14998# 2925
14999 = is_void< _Ret> ::value, class = void>
15000# 2926
15001struct __is_invocable_impl : public false_type {
15002# 2929
15003using __nothrow_conv = false_type;
15004# 2930
15005};
15006# 2933
15007template< class _Result, class _Ret>
15008# 2934
15009struct __is_invocable_impl< _Result, _Ret, true, __void_t< typename _Result::type> > : public true_type {
15010# 2939
15011using __nothrow_conv = true_type;
15012# 2940
15013};
15014# 2942
15015#pragma GCC diagnostic push
15016#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
15017# 2945
15018template< class _Result, class _Ret>
15019# 2946
15020struct __is_invocable_impl< _Result, _Ret, false, __void_t< typename _Result::type> > {
15021# 2952
15022private: using _Res_t = typename _Result::type;
15023# 2956
15024static _Res_t _S_get() noexcept;
15025# 2959
15026template< class _Tp> static void _S_conv(__type_identity_t< _Tp> ) noexcept;
15027# 2963
15028template< class _Tp, bool
15029# 2964
15030_Nothrow = noexcept(_S_conv< _Tp> ((_S_get)())), class
15031# 2965
15032 = __decltype((_S_conv< _Tp> ((_S_get)()))), bool
15033# 2967
15034_Dangle = __reference_converts_from_temporary(_Tp, _Res_t)> static __bool_constant< _Nothrow && (!_Dangle)>
15035# 2963
15036_S_test(int);
15037# 2975
15038template< class _Tp, bool = false> static false_type _S_test(...);
15039# 2981
15040public: using type = __decltype((_S_test< _Ret, true> (1)));
15041# 2984
15042using __nothrow_conv = __decltype((_S_test< _Ret> (1)));
15043# 2985
15044};
15045#pragma GCC diagnostic pop
15046# 2988
15047template< class _Fn, class ..._ArgTypes>
15048# 2989
15049struct __is_invocable : public __is_invocable_impl< __invoke_result< _Fn, _ArgTypes...> , void> ::type {
15050# 2991
15051};
15052# 2993
15053template< class _Fn, class _Tp, class ..._Args> constexpr bool
15054# 2994
15055__call_is_nt(__invoke_memfun_ref)
15056# 2995
15057{
15058# 2996
15059using _Up = typename __inv_unwrap< _Tp> ::type;
15060# 2997
15061return noexcept((std::declval< typename __inv_unwrap< _Tp> ::type> ().*std::declval< _Fn> ())(std::declval< _Args> ()...));
15062# 2999
15063}
15064# 3001
15065template< class _Fn, class _Tp, class ..._Args> constexpr bool
15066# 3002
15067__call_is_nt(__invoke_memfun_deref)
15068# 3003
15069{
15070# 3004
15071return noexcept(((*std::declval< _Tp> ()).*std::declval< _Fn> ())(std::declval< _Args> ()...));
15072# 3006
15073}
15074# 3008
15075template< class _Fn, class _Tp> constexpr bool
15076# 3009
15077__call_is_nt(__invoke_memobj_ref)
15078# 3010
15079{
15080# 3011
15081using _Up = typename __inv_unwrap< _Tp> ::type;
15082# 3012
15083return noexcept((std::declval< typename __inv_unwrap< _Tp> ::type> ().*std::declval< _Fn> ()));
15084# 3013
15085}
15086# 3015
15087template< class _Fn, class _Tp> constexpr bool
15088# 3016
15089__call_is_nt(__invoke_memobj_deref)
15090# 3017
15091{
15092# 3018
15093return noexcept(((*std::declval< _Tp> ()).*std::declval< _Fn> ()));
15094# 3019
15095}
15096# 3021
15097template< class _Fn, class ..._Args> constexpr bool
15098# 3022
15099__call_is_nt(__invoke_other)
15100# 3023
15101{
15102# 3024
15103return noexcept(std::declval< _Fn> ()(std::declval< _Args> ()...));
15104# 3025
15105}
15106# 3027
15107template< class _Result, class _Fn, class ..._Args>
15108# 3028
15109struct __call_is_nothrow : public __bool_constant< std::__call_is_nt< _Fn, _Args...> (typename _Result::__invoke_type{})> {
15110# 3032
15111};
15112# 3034
15113template< class _Fn, class ..._Args> using __call_is_nothrow_ = __call_is_nothrow< __invoke_result< _Fn, _Args...> , _Fn, _Args...> ;
15114# 3039
15115template< class _Fn, class ..._Args>
15116# 3040
15117struct __is_nothrow_invocable : public __and_< __is_invocable< _Fn, _Args...> , __call_is_nothrow_< _Fn, _Args...> > ::type {
15118# 3043
15119};
15120# 3045
15121#pragma GCC diagnostic push
15122#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
15123struct __nonesuchbase { };
15124# 3048
15125struct __nonesuch : private __nonesuchbase {
15126# 3049
15127~__nonesuch() = delete;
15128# 3050
15129__nonesuch(const __nonesuch &) = delete;
15130# 3051
15131void operator=(const __nonesuch &) = delete;
15132# 3052
15133};
15134#pragma GCC diagnostic pop
15135# 3060
15136template< class _Functor, class ..._ArgTypes>
15137# 3061
15138struct invoke_result : public __invoke_result< _Functor, _ArgTypes...> {
15139# 3064
15140static_assert((std::__is_complete_or_unbounded(__type_identity< _Functor> {})), "_Functor must be a complete class or an unbounded array");
15141# 3066
15142static_assert(((std::__is_complete_or_unbounded(__type_identity< _ArgTypes> {}) && ... )), "each argument type must be a complete class or an unbounded array");
15143# 3069
15144};
15145# 3072
15146template< class _Fn, class ..._Args> using invoke_result_t = typename invoke_result< _Fn, _Args...> ::type;
15147# 3076
15148template< class _Fn, class ..._ArgTypes>
15149# 3077
15150struct is_invocable : public __is_invocable_impl< __invoke_result< _Fn, _ArgTypes...> , void> ::type {
15151# 3080
15152static_assert((std::__is_complete_or_unbounded(__type_identity< _Fn> {})), "_Fn must be a complete class or an unbounded array");
15153# 3082
15154static_assert(((std::__is_complete_or_unbounded(__type_identity< _ArgTypes> {}) && ... )), "each argument type must be a complete class or an unbounded array");
15155# 3085
15156};
15157# 3088
15158template< class _Ret, class _Fn, class ..._ArgTypes>
15159# 3089
15160struct is_invocable_r : public __is_invocable_impl< __invoke_result< _Fn, _ArgTypes...> , _Ret> ::type {
15161# 3092
15162static_assert((std::__is_complete_or_unbounded(__type_identity< _Fn> {})), "_Fn must be a complete class or an unbounded array");
15163# 3094
15164static_assert(((std::__is_complete_or_unbounded(__type_identity< _ArgTypes> {}) && ... )), "each argument type must be a complete class or an unbounded array");
15165# 3097
15166static_assert((std::__is_complete_or_unbounded(__type_identity< _Ret> {})), "_Ret must be a complete class or an unbounded array");
15167# 3099
15168};
15169# 3102
15170template< class _Fn, class ..._ArgTypes>
15171# 3103
15172struct is_nothrow_invocable : public __and_< __is_invocable_impl< __invoke_result< _Fn, _ArgTypes...> , void> , __call_is_nothrow_< _Fn, _ArgTypes...> > ::type {
15173# 3107
15174static_assert((std::__is_complete_or_unbounded(__type_identity< _Fn> {})), "_Fn must be a complete class or an unbounded array");
15175# 3109
15176static_assert(((std::__is_complete_or_unbounded(__type_identity< _ArgTypes> {}) && ... )), "each argument type must be a complete class or an unbounded array");
15177# 3112
15178};
15179# 3118
15180template< class _Result, class _Ret> using __is_nt_invocable_impl = typename __is_invocable_impl< _Result, _Ret> ::__nothrow_conv;
15181# 3124
15182template< class _Ret, class _Fn, class ..._ArgTypes>
15183# 3125
15184struct is_nothrow_invocable_r : public __and_< __is_nt_invocable_impl< __invoke_result< _Fn, _ArgTypes...> , _Ret> , __call_is_nothrow_< _Fn, _ArgTypes...> > ::type {
15185# 3129
15186static_assert((std::__is_complete_or_unbounded(__type_identity< _Fn> {})), "_Fn must be a complete class or an unbounded array");
15187# 3131
15188static_assert(((std::__is_complete_or_unbounded(__type_identity< _ArgTypes> {}) && ... )), "each argument type must be a complete class or an unbounded array");
15189# 3134
15190static_assert((std::__is_complete_or_unbounded(__type_identity< _Ret> {})), "_Ret must be a complete class or an unbounded array");
15191# 3136
15192};
15193# 3155 "/usr/include/c++/13/type_traits" 3
15194template< class _Tp> constexpr inline bool
15195# 3156
15196is_void_v = (is_void< _Tp> ::value);
15197# 3157
15198template< class _Tp> constexpr inline bool
15199# 3158
15200is_null_pointer_v = (is_null_pointer< _Tp> ::value);
15201# 3159
15202template< class _Tp> constexpr inline bool
15203# 3160
15204is_integral_v = (is_integral< _Tp> ::value);
15205# 3161
15206template< class _Tp> constexpr inline bool
15207# 3162
15208is_floating_point_v = (is_floating_point< _Tp> ::value);
15209# 3164
15210template< class _Tp> constexpr inline bool
15211# 3165
15212is_array_v = false;
15213# 3166
15214template< class _Tp> constexpr inline bool
15215# 3167
15216is_array_v< _Tp []> = true;
15217# 3168
15218template< class _Tp, size_t _Num> constexpr inline bool
15219# 3169
15220is_array_v< _Tp [_Num]> = true;
15221# 3171
15222template< class _Tp> constexpr inline bool
15223# 3172
15224is_pointer_v = (is_pointer< _Tp> ::value);
15225# 3173
15226template< class _Tp> constexpr inline bool
15227# 3174
15228is_lvalue_reference_v = false;
15229# 3175
15230template< class _Tp> constexpr inline bool
15231# 3176
15232is_lvalue_reference_v< _Tp &> = true;
15233# 3177
15234template< class _Tp> constexpr inline bool
15235# 3178
15236is_rvalue_reference_v = false;
15237# 3179
15238template< class _Tp> constexpr inline bool
15239# 3180
15240is_rvalue_reference_v< _Tp &&> = true;
15241# 3181
15242template< class _Tp> constexpr inline bool
15243# 3182
15244is_member_object_pointer_v = (is_member_object_pointer< _Tp> ::value);
15245# 3184
15246template< class _Tp> constexpr inline bool
15247# 3185
15248is_member_function_pointer_v = (is_member_function_pointer< _Tp> ::value);
15249# 3187
15250template< class _Tp> constexpr inline bool
15251# 3188
15252is_enum_v = __is_enum(_Tp);
15253# 3189
15254template< class _Tp> constexpr inline bool
15255# 3190
15256is_union_v = __is_union(_Tp);
15257# 3191
15258template< class _Tp> constexpr inline bool
15259# 3192
15260is_class_v = __is_class(_Tp);
15261# 3193
15262template< class _Tp> constexpr inline bool
15263# 3194
15264is_function_v = (is_function< _Tp> ::value);
15265# 3195
15266template< class _Tp> constexpr inline bool
15267# 3196
15268is_reference_v = false;
15269# 3197
15270template< class _Tp> constexpr inline bool
15271# 3198
15272is_reference_v< _Tp &> = true;
15273# 3199
15274template< class _Tp> constexpr inline bool
15275# 3200
15276is_reference_v< _Tp &&> = true;
15277# 3201
15278template< class _Tp> constexpr inline bool
15279# 3202
15280is_arithmetic_v = (is_arithmetic< _Tp> ::value);
15281# 3203
15282template< class _Tp> constexpr inline bool
15283# 3204
15284is_fundamental_v = (is_fundamental< _Tp> ::value);
15285# 3205
15286template< class _Tp> constexpr inline bool
15287# 3206
15288is_object_v = (is_object< _Tp> ::value);
15289# 3207
15290template< class _Tp> constexpr inline bool
15291# 3208
15292is_scalar_v = (is_scalar< _Tp> ::value);
15293# 3209
15294template< class _Tp> constexpr inline bool
15295# 3210
15296is_compound_v = (is_compound< _Tp> ::value);
15297# 3211
15298template< class _Tp> constexpr inline bool
15299# 3212
15300is_member_pointer_v = (is_member_pointer< _Tp> ::value);
15301# 3213
15302template< class _Tp> constexpr inline bool
15303# 3214
15304is_const_v = false;
15305# 3215
15306template< class _Tp> constexpr inline bool
15307# 3216
15308is_const_v< const _Tp> = true;
15309# 3217
15310template< class _Tp> constexpr inline bool
15311# 3218
15312is_volatile_v = false;
15313# 3219
15314template< class _Tp> constexpr inline bool
15315# 3220
15316is_volatile_v< volatile _Tp> = true;
15317# 3222
15318template< class _Tp> constexpr inline bool
15319# 3223
15320is_trivial_v = __is_trivial(_Tp);
15321# 3224
15322template< class _Tp> constexpr inline bool
15323# 3225
15324is_trivially_copyable_v = __is_trivially_copyable(_Tp);
15325# 3226
15326template< class _Tp> constexpr inline bool
15327# 3227
15328is_standard_layout_v = __is_standard_layout(_Tp);
15329# 3228
15330template< class _Tp> constexpr inline bool
15331# 3230
15332is_pod_v = __is_pod(_Tp);
15333# 3231
15334template< class _Tp>
15335# 3232
15336[[__deprecated__]] constexpr inline bool
15337# 3233
15338is_literal_type_v = __is_literal_type(_Tp);
15339# 3234
15340template< class _Tp> constexpr inline bool
15341# 3235
15342is_empty_v = __is_empty(_Tp);
15343# 3236
15344template< class _Tp> constexpr inline bool
15345# 3237
15346is_polymorphic_v = __is_polymorphic(_Tp);
15347# 3238
15348template< class _Tp> constexpr inline bool
15349# 3239
15350is_abstract_v = __is_abstract(_Tp);
15351# 3240
15352template< class _Tp> constexpr inline bool
15353# 3241
15354is_final_v = __is_final(_Tp);
15355# 3243
15356template< class _Tp> constexpr inline bool
15357# 3244
15358is_signed_v = (is_signed< _Tp> ::value);
15359# 3245
15360template< class _Tp> constexpr inline bool
15361# 3246
15362is_unsigned_v = (is_unsigned< _Tp> ::value);
15363# 3248
15364template< class _Tp, class ..._Args> constexpr inline bool
15365# 3249
15366is_constructible_v = __is_constructible(_Tp, _Args...);
15367# 3250
15368template< class _Tp> constexpr inline bool
15369# 3251
15370is_default_constructible_v = __is_constructible(_Tp);
15371# 3252
15372template< class _Tp> constexpr inline bool
15373# 3253
15374is_copy_constructible_v = __is_constructible(_Tp, __add_lval_ref_t< const _Tp> );
15375# 3255
15376template< class _Tp> constexpr inline bool
15377# 3256
15378is_move_constructible_v = __is_constructible(_Tp, __add_rval_ref_t< _Tp> );
15379# 3259
15380template< class _Tp, class _Up> constexpr inline bool
15381# 3260
15382is_assignable_v = __is_assignable(_Tp, _Up);
15383# 3261
15384template< class _Tp> constexpr inline bool
15385# 3262
15386is_copy_assignable_v = __is_assignable(__add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> );
15387# 3264
15388template< class _Tp> constexpr inline bool
15389# 3265
15390is_move_assignable_v = __is_assignable(__add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> );
15391# 3268
15392template< class _Tp> constexpr inline bool
15393# 3269
15394is_destructible_v = (is_destructible< _Tp> ::value);
15395# 3271
15396template< class _Tp, class ..._Args> constexpr inline bool
15397# 3272
15398is_trivially_constructible_v = __is_trivially_constructible(_Tp, _Args...);
15399# 3274
15400template< class _Tp> constexpr inline bool
15401# 3275
15402is_trivially_default_constructible_v = __is_trivially_constructible(_Tp);
15403# 3277
15404template< class _Tp> constexpr inline bool
15405# 3278
15406is_trivially_copy_constructible_v = __is_trivially_constructible(_Tp, __add_lval_ref_t< const _Tp> );
15407# 3280
15408template< class _Tp> constexpr inline bool
15409# 3281
15410is_trivially_move_constructible_v = __is_trivially_constructible(_Tp, __add_rval_ref_t< _Tp> );
15411# 3284
15412template< class _Tp, class _Up> constexpr inline bool
15413# 3285
15414is_trivially_assignable_v = __is_trivially_assignable(_Tp, _Up);
15415# 3287
15416template< class _Tp> constexpr inline bool
15417# 3288
15418is_trivially_copy_assignable_v = __is_trivially_assignable(__add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> );
15419# 3291
15420template< class _Tp> constexpr inline bool
15421# 3292
15422is_trivially_move_assignable_v = __is_trivially_assignable(__add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> );
15423# 3295
15424template< class _Tp> constexpr inline bool
15425# 3296
15426is_trivially_destructible_v = (is_trivially_destructible< _Tp> ::value);
15427# 3298
15428template< class _Tp, class ..._Args> constexpr inline bool
15429# 3299
15430is_nothrow_constructible_v = __is_nothrow_constructible(_Tp, _Args...);
15431# 3301
15432template< class _Tp> constexpr inline bool
15433# 3302
15434is_nothrow_default_constructible_v = __is_nothrow_constructible(_Tp);
15435# 3304
15436template< class _Tp> constexpr inline bool
15437# 3305
15438is_nothrow_copy_constructible_v = __is_nothrow_constructible(_Tp, __add_lval_ref_t< const _Tp> );
15439# 3307
15440template< class _Tp> constexpr inline bool
15441# 3308
15442is_nothrow_move_constructible_v = __is_nothrow_constructible(_Tp, __add_rval_ref_t< _Tp> );
15443# 3311
15444template< class _Tp, class _Up> constexpr inline bool
15445# 3312
15446is_nothrow_assignable_v = __is_nothrow_assignable(_Tp, _Up);
15447# 3314
15448template< class _Tp> constexpr inline bool
15449# 3315
15450is_nothrow_copy_assignable_v = __is_nothrow_assignable(__add_lval_ref_t< _Tp> , __add_lval_ref_t< const _Tp> );
15451# 3318
15452template< class _Tp> constexpr inline bool
15453# 3319
15454is_nothrow_move_assignable_v = __is_nothrow_assignable(__add_lval_ref_t< _Tp> , __add_rval_ref_t< _Tp> );
15455# 3322
15456template< class _Tp> constexpr inline bool
15457# 3323
15458is_nothrow_destructible_v = (is_nothrow_destructible< _Tp> ::value);
15459# 3326
15460template< class _Tp> constexpr inline bool
15461# 3327
15462has_virtual_destructor_v = __has_virtual_destructor(_Tp);
15463# 3330
15464template< class _Tp> constexpr inline size_t
15465# 3331
15466alignment_of_v = (alignment_of< _Tp> ::value);
15467# 3333
15468template< class _Tp> constexpr inline size_t
15469# 3334
15470rank_v = (0);
15471# 3335
15472template< class _Tp, size_t _Size> constexpr inline size_t
15473# 3336
15474rank_v< _Tp [_Size]> = 1 + rank_v< _Tp> ;
15475# 3337
15476template< class _Tp> constexpr inline size_t
15477# 3338
15478rank_v< _Tp []> = 1 + rank_v< _Tp> ;
15479# 3340
15480template< class _Tp, unsigned _Idx = 0U> constexpr inline size_t
15481# 3341
15482extent_v = (0);
15483# 3342
15484template< class _Tp, size_t _Size> constexpr inline size_t
15485# 3343
15486extent_v< _Tp [_Size], 0> = _Size;
15487# 3344
15488template< class _Tp, unsigned _Idx, size_t _Size> constexpr inline size_t
15489# 3345
15490extent_v< _Tp [_Size], _Idx> = extent_v< _Tp, _Idx - (1)> ;
15491# 3346
15492template< class _Tp> constexpr inline size_t
15493# 3347
15494extent_v< _Tp [], 0> = (0);
15495# 3348
15496template< class _Tp, unsigned _Idx> constexpr inline size_t
15497# 3349
15498extent_v< _Tp [], _Idx> = extent_v< _Tp, _Idx - (1)> ;
15499# 3352
15500template< class _Tp, class _Up> constexpr inline bool
15501# 3353
15502is_same_v = __is_same(_Tp, _Up);
15503# 3360
15504template< class _Base, class _Derived> constexpr inline bool
15505# 3361
15506is_base_of_v = __is_base_of(_Base, _Derived);
15507# 3363
15508template< class _From, class _To> constexpr inline bool
15509# 3364
15510is_convertible_v = __is_convertible(_From, _To);
15511# 3369
15512template< class _Fn, class ..._Args> constexpr inline bool
15513# 3370
15514is_invocable_v = (is_invocable< _Fn, _Args...> ::value);
15515# 3371
15516template< class _Fn, class ..._Args> constexpr inline bool
15517# 3372
15518is_nothrow_invocable_v = (is_nothrow_invocable< _Fn, _Args...> ::value);
15519# 3374
15520template< class _Ret, class _Fn, class ..._Args> constexpr inline bool
15521# 3375
15522is_invocable_r_v = (is_invocable_r< _Ret, _Fn, _Args...> ::value);
15523# 3377
15524template< class _Ret, class _Fn, class ..._Args> constexpr inline bool
15525# 3378
15526is_nothrow_invocable_r_v = (is_nothrow_invocable_r< _Ret, _Fn, _Args...> ::value);
15527# 3386
15528template< class _Tp>
15529# 3387
15530struct has_unique_object_representations : public bool_constant< __has_unique_object_representations(remove_cv_t< remove_all_extents_t< _Tp> > )> {
15531# 3392
15532static_assert((std::__is_complete_or_unbounded(__type_identity< _Tp> {})), "template argument must be a complete class or an unbounded array");
15533# 3394
15534};
15535# 3397
15536template< class _Tp> constexpr inline bool
15537# 3398
15538has_unique_object_representations_v = (has_unique_object_representations< _Tp> ::value);
15539# 3406
15540template< class _Tp>
15541# 3407
15542struct is_aggregate : public bool_constant< __is_aggregate(remove_cv_t< _Tp> )> {
15543# 3409
15544};
15545# 3415
15546template< class _Tp> constexpr inline bool
15547# 3416
15548is_aggregate_v = __is_aggregate(remove_cv_t< _Tp> );
15549# 3834 "/usr/include/c++/13/type_traits" 3
15550}
15551# 40 "/usr/include/c++/13/bits/move.h" 3
15552namespace std __attribute((__visibility__("default"))) {
15553# 49
15554template< class _Tp> constexpr _Tp *
15555# 51
15556__addressof(_Tp &__r) noexcept
15557# 52
15558{ return __builtin_addressof(__r); }
15559# 67 "/usr/include/c++/13/bits/move.h" 3
15560template< class _Tp>
15561# 68
15562[[__nodiscard__]] constexpr _Tp &&
15563# 70
15564forward(typename remove_reference< _Tp> ::type &__t) noexcept
15565# 71
15566{ return static_cast< _Tp &&>(__t); }
15567# 79
15568template< class _Tp>
15569# 80
15570[[__nodiscard__]] constexpr _Tp &&
15571# 82
15572forward(typename remove_reference< _Tp> ::type &&__t) noexcept
15573# 83
15574{
15575# 84
15576static_assert((!std::template is_lvalue_reference< _Tp> ::value), "std::forward must not be used to convert an rvalue to an lvalue");
15577# 86
15578return static_cast< _Tp &&>(__t);
15579# 87
15580}
15581# 94
15582template< class _Tp>
15583# 95
15584[[__nodiscard__]] constexpr typename remove_reference< _Tp> ::type &&
15585# 97
15586move(_Tp &&__t) noexcept
15587# 98
15588{ return static_cast< typename remove_reference< _Tp> ::type &&>(__t); }
15589# 101
15590template< class _Tp>
15591# 102
15592struct __move_if_noexcept_cond : public __and_< __not_< is_nothrow_move_constructible< _Tp> > , is_copy_constructible< _Tp> > ::type {
15593# 104
15594};
15595# 114 "/usr/include/c++/13/bits/move.h" 3
15596template< class _Tp>
15597# 115
15598[[__nodiscard__]] constexpr __conditional_t< __move_if_noexcept_cond< _Tp> ::value, const _Tp &, _Tp &&>
15599# 118
15600move_if_noexcept(_Tp &__x) noexcept
15601# 119
15602{ return std::move(__x); }
15603# 135 "/usr/include/c++/13/bits/move.h" 3
15604template< class _Tp>
15605# 136
15606[[__nodiscard__]] constexpr _Tp *
15607# 138
15608addressof(_Tp &__r) noexcept
15609# 139
15610{ return std::__addressof(__r); }
15611# 143
15612template < typename _Tp >
15613 const _Tp * addressof ( const _Tp && ) = delete;
15614# 147
15615template< class _Tp, class _Up = _Tp> inline _Tp
15616# 150
15617__exchange(_Tp &__obj, _Up &&__new_val)
15618# 151
15619{
15620# 152
15621_Tp __old_val = std::move(__obj);
15622# 153
15623__obj = std::forward< _Up> (__new_val);
15624# 154
15625return __old_val;
15626# 155
15627}
15628# 179 "/usr/include/c++/13/bits/move.h" 3
15629template< class _Tp> inline typename enable_if< __and_< __not_< __is_tuple_like< _Tp> > , is_move_constructible< _Tp> , is_move_assignable< _Tp> > ::value> ::type
15630# 189
15631swap(_Tp &__a, _Tp &__b) noexcept(__and_< is_nothrow_move_constructible< _Tp> , is_nothrow_move_assignable< _Tp> > ::value)
15632# 192
15633{
15634# 197
15635_Tp __tmp = std::move(__a);
15636# 198
15637__a = std::move(__b);
15638# 199
15639__b = std::move(__tmp);
15640# 200
15641}
15642# 205
15643template< class _Tp, size_t _Nm> inline typename enable_if< __is_swappable< _Tp> ::value> ::type
15644# 213
15645swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp> ::value)
15646# 215
15647{
15648# 216
15649for (size_t __n = (0); __n < _Nm; ++__n) {
15650# 217
15651swap(__a[__n], __b[__n]); }
15652# 218
15653}
15654# 222
15655}
15656# 43 "/usr/include/c++/13/bits/utility.h" 3
15657namespace std __attribute((__visibility__("default"))) {
15658# 48
15659template< class _Tp> struct tuple_size;
15660# 55
15661template< class _Tp, class
15662# 56
15663_Up = typename remove_cv< _Tp> ::type, class
15664# 57
15665 = typename enable_if< is_same< _Tp, _Up> ::value> ::type, size_t
15666# 58
15667 = tuple_size< _Tp> ::value> using __enable_if_has_tuple_size = _Tp;
15668# 61
15669template< class _Tp>
15670# 62
15671struct tuple_size< const __enable_if_has_tuple_size< _Tp> > : public std::tuple_size< _Tp> {
15672# 63
15673};
15674# 65
15675template< class _Tp>
15676# 66
15677struct tuple_size< volatile __enable_if_has_tuple_size< _Tp> > : public std::tuple_size< _Tp> {
15678# 67
15679};
15680# 69
15681template< class _Tp>
15682# 70
15683struct tuple_size< const volatile __enable_if_has_tuple_size< _Tp> > : public std::tuple_size< _Tp> {
15684# 71
15685};
15686# 74
15687template< class _Tp> constexpr inline size_t
15688# 75
15689tuple_size_v = (tuple_size< _Tp> ::value);
15690# 79
15691template< size_t __i, class _Tp> struct tuple_element;
15692# 83
15693template< size_t __i, class _Tp> using __tuple_element_t = typename tuple_element< __i, _Tp> ::type;
15694# 86
15695template< size_t __i, class _Tp>
15696# 87
15697struct tuple_element< __i, const _Tp> {
15698# 89
15699using type = const __tuple_element_t< __i, _Tp> ;
15700# 90
15701};
15702# 92
15703template< size_t __i, class _Tp>
15704# 93
15705struct tuple_element< __i, volatile _Tp> {
15706# 95
15707using type = volatile __tuple_element_t< __i, _Tp> ;
15708# 96
15709};
15710# 98
15711template< size_t __i, class _Tp>
15712# 99
15713struct tuple_element< __i, const volatile _Tp> {
15714# 101
15715using type = const volatile __tuple_element_t< __i, _Tp> ;
15716# 102
15717};
15718# 108
15719template< class _Tp, class ..._Types> constexpr size_t
15720# 110
15721__find_uniq_type_in_pack()
15722# 111
15723{
15724# 112
15725constexpr size_t __sz = sizeof...(_Types);
15726# 113
15727constexpr bool __found[__sz] = {__is_same(_Tp, _Types)...};
15728# 114
15729size_t __n = __sz;
15730# 115
15731for (size_t __i = (0); __i < __sz; ++__i)
15732# 116
15733{
15734# 117
15735if (__found[__i])
15736# 118
15737{
15738# 119
15739if (__n < __sz) {
15740# 120
15741return __sz; }
15742# 121
15743__n = __i;
15744# 122
15745}
15746# 123
15747}
15748# 124
15749return __n;
15750# 125
15751}
15752# 134 "/usr/include/c++/13/bits/utility.h" 3
15753template< size_t __i, class _Tp> using tuple_element_t = typename tuple_element< __i, _Tp> ::type;
15754# 140
15755template< size_t ..._Indexes> struct _Index_tuple { };
15756# 143
15757template< size_t _Num>
15758# 144
15759struct _Build_index_tuple {
15760# 154 "/usr/include/c++/13/bits/utility.h" 3
15761using __type = _Index_tuple< __integer_pack(_Num)...> ;
15762# 156
15763};
15764# 163
15765template< class _Tp, _Tp ..._Idx>
15766# 164
15767struct integer_sequence {
15768# 169
15769typedef _Tp value_type;
15770# 170
15771static constexpr size_t size() noexcept { return sizeof...(_Idx); }
15772# 171
15773};
15774# 174
15775template< class _Tp, _Tp _Num> using make_integer_sequence = integer_sequence< _Tp, __integer_pack((_Tp)_Num)...> ;
15776# 183
15777template< size_t ..._Idx> using index_sequence = integer_sequence< unsigned long, _Idx...> ;
15778# 187
15779template< size_t _Num> using make_index_sequence = make_integer_sequence< unsigned long, _Num> ;
15780# 191
15781template< class ..._Types> using index_sequence_for = make_index_sequence< sizeof...(_Types)> ;
15782# 196
15783struct in_place_t {
15784# 197
15785explicit in_place_t() = default;
15786# 198
15787};
15788# 200
15789constexpr inline in_place_t in_place{};
15790# 202
15791template< class _Tp> struct in_place_type_t {
15792# 204
15793explicit in_place_type_t() = default;
15794# 205
15795};
15796# 207
15797template< class _Tp> constexpr inline in_place_type_t< _Tp>
15798# 208
15799in_place_type{};
15800# 210
15801template< size_t _Idx> struct in_place_index_t {
15802# 212
15803explicit in_place_index_t() = default;
15804# 213
15805};
15806# 215
15807template< size_t _Idx> constexpr inline in_place_index_t< _Idx>
15808# 216
15809in_place_index{};
15810# 218
15811template< class > constexpr inline bool
15812# 219
15813__is_in_place_type_v = false;
15814# 221
15815template< class _Tp> constexpr inline bool
15816# 222
15817__is_in_place_type_v< in_place_type_t< _Tp> > = true;
15818# 224
15819template< class _Tp> using __is_in_place_type = bool_constant< __is_in_place_type_v< _Tp> > ;
15820# 230
15821template< size_t _Np, class ..._Types>
15822# 231
15823struct _Nth_type {
15824# 232
15825};
15826# 234
15827template< class _Tp0, class ..._Rest>
15828# 235
15829struct _Nth_type< 0, _Tp0, _Rest...> {
15830# 236
15831using type = _Tp0; };
15832# 238
15833template< class _Tp0, class _Tp1, class ..._Rest>
15834# 239
15835struct _Nth_type< 1, _Tp0, _Tp1, _Rest...> {
15836# 240
15837using type = _Tp1; };
15838# 242
15839template< class _Tp0, class _Tp1, class _Tp2, class ..._Rest>
15840# 243
15841struct _Nth_type< 2, _Tp0, _Tp1, _Tp2, _Rest...> {
15842# 244
15843using type = _Tp2; };
15844# 246
15845template< size_t _Np, class _Tp0, class _Tp1, class _Tp2, class ...
15846# 247
15847_Rest>
15848# 251
15849struct _Nth_type< _Np, _Tp0, _Tp1, _Tp2, _Rest...> : public std::_Nth_type< _Np - (3), _Rest...> {
15850# 253
15851};
15852# 256
15853template< class _Tp0, class _Tp1, class _Tp2, class ..._Rest>
15854# 257
15855struct _Nth_type< 0, _Tp0, _Tp1, _Tp2, _Rest...> {
15856# 258
15857using type = _Tp0; };
15858# 260
15859template< class _Tp0, class _Tp1, class _Tp2, class ..._Rest>
15860# 261
15861struct _Nth_type< 1, _Tp0, _Tp1, _Tp2, _Rest...> {
15862# 262
15863using type = _Tp1; };
15864# 270
15865}
15866# 69 "/usr/include/c++/13/bits/stl_pair.h" 3
15867namespace std __attribute((__visibility__("default"))) {
15868# 80 "/usr/include/c++/13/bits/stl_pair.h" 3
15869struct piecewise_construct_t { explicit piecewise_construct_t() = default;};
15870# 83
15871constexpr inline piecewise_construct_t piecewise_construct = piecewise_construct_t();
15872# 89
15873template< class ...> class tuple;
15874# 92
15875template< size_t ...> struct _Index_tuple;
15876# 101
15877template< bool , class _T1, class _T2>
15878# 102
15879struct _PCC {
15880# 104
15881template< class _U1, class _U2> static constexpr bool
15882# 105
15883_ConstructiblePair()
15884# 106
15885{
15886# 107
15887return __and_< is_constructible< _T1, const _U1 &> , is_constructible< _T2, const _U2 &> > ::value;
15888# 109
15889}
15890# 111
15891template< class _U1, class _U2> static constexpr bool
15892# 112
15893_ImplicitlyConvertiblePair()
15894# 113
15895{
15896# 114
15897return __and_< is_convertible< const _U1 &, _T1> , is_convertible< const _U2 &, _T2> > ::value;
15898# 116
15899}
15900# 118
15901template< class _U1, class _U2> static constexpr bool
15902# 119
15903_MoveConstructiblePair()
15904# 120
15905{
15906# 121
15907return __and_< is_constructible< _T1, _U1 &&> , is_constructible< _T2, _U2 &&> > ::value;
15908# 123
15909}
15910# 125
15911template< class _U1, class _U2> static constexpr bool
15912# 126
15913_ImplicitlyMoveConvertiblePair()
15914# 127
15915{
15916# 128
15917return __and_< is_convertible< _U1 &&, _T1> , is_convertible< _U2 &&, _T2> > ::value;
15918# 130
15919}
15920# 131
15921};
15922# 133
15923template< class _T1, class _T2>
15924# 134
15925struct _PCC< false, _T1, _T2> {
15926# 136
15927template< class _U1, class _U2> static constexpr bool
15928# 137
15929_ConstructiblePair()
15930# 138
15931{
15932# 139
15933return false;
15934# 140
15935}
15936# 142
15937template< class _U1, class _U2> static constexpr bool
15938# 143
15939_ImplicitlyConvertiblePair()
15940# 144
15941{
15942# 145
15943return false;
15944# 146
15945}
15946# 148
15947template< class _U1, class _U2> static constexpr bool
15948# 149
15949_MoveConstructiblePair()
15950# 150
15951{
15952# 151
15953return false;
15954# 152
15955}
15956# 154
15957template< class _U1, class _U2> static constexpr bool
15958# 155
15959_ImplicitlyMoveConvertiblePair()
15960# 156
15961{
15962# 157
15963return false;
15964# 158
15965}
15966# 159
15967};
15968# 163
15969template< class _U1, class _U2> class __pair_base {
15970# 166
15971template< class _T1, class _T2> friend struct pair;
15972# 167
15973__pair_base() = default;
15974# 168
15975~__pair_base() = default;
15976# 169
15977__pair_base(const __pair_base &) = default;
15978# 170
15979__pair_base &operator=(const __pair_base &) = delete;
15980# 172
15981};
15982# 186 "/usr/include/c++/13/bits/stl_pair.h" 3
15983template< class _T1, class _T2>
15984# 187
15985struct pair : public __pair_base< _T1, _T2> {
15986# 190
15987typedef _T1 first_type;
15988# 191
15989typedef _T2 second_type;
15990# 193
15991_T1 first;
15992# 194
15993_T2 second;
15994# 197
15995constexpr pair(const pair &) = default;
15996# 198
15997constexpr pair(pair &&) = default;
15998# 200
15999template< class ..._Args1, class ..._Args2> pair(std::piecewise_construct_t, tuple< _Args1...> , tuple< _Args2...> );
16000# 206
16001void swap(pair &__p) noexcept(__and_< __is_nothrow_swappable< _T1> , __is_nothrow_swappable< _T2> > ::value)
16002# 209
16003{
16004# 210
16005using std::swap;
16006# 211
16007swap(first, __p.first);
16008# 212
16009swap(second, __p.second);
16010# 213
16011}
16012# 235 "/usr/include/c++/13/bits/stl_pair.h" 3
16013private: template< class ..._Args1, std::size_t ..._Indexes1, class ...
16014# 236
16015_Args2, std::size_t ..._Indexes2>
16016# 235
16017pair(tuple< _Args1...> &, tuple< _Args2...> &, _Index_tuple< _Indexes1...> , _Index_tuple< _Indexes2...> );
16018# 531 "/usr/include/c++/13/bits/stl_pair.h" 3
16019public:
16020# 525
16021template< class _U1 = _T1, class
16022# 526
16023_U2 = _T2, typename enable_if< __and_< __is_implicitly_default_constructible< _U1> , __is_implicitly_default_constructible< _U2> > ::value, bool> ::type
16024# 530
16025 = true> constexpr
16026# 531
16027pair() : first(), second()
16028# 532
16029{ }
16030# 534
16031template< class _U1 = _T1, class
16032# 535
16033_U2 = _T2, typename enable_if< __and_< is_default_constructible< _U1> , is_default_constructible< _U2> , __not_< __and_< __is_implicitly_default_constructible< _U1> , __is_implicitly_default_constructible< _U2> > > > ::value, bool> ::type
16034# 542
16035 = false> constexpr explicit
16036# 543
16037pair() : first(), second()
16038# 544
16039{ }
16040# 548
16041using _PCCP = _PCC< true, _T1, _T2> ;
16042# 552
16043template< class _U1 = _T1, class _U2 = _T2, typename enable_if< _PCC< true, _T1, _T2> ::template _ConstructiblePair< _U1, _U2> () && _PCC< true, _T1, _T2> ::template _ImplicitlyConvertiblePair< _U1, _U2> (), bool> ::type
16044# 557
16045 = true> constexpr
16046# 558
16047pair(const _T1 &__a, const _T2 &__b) : first(__a), second(__b)
16048# 559
16049{ }
16050# 562
16051template< class _U1 = _T1, class _U2 = _T2, typename enable_if< _PCC< true, _T1, _T2> ::template _ConstructiblePair< _U1, _U2> () && (!_PCC< true, _T1, _T2> ::template _ImplicitlyConvertiblePair< _U1, _U2> ()), bool> ::type
16052# 567
16053 = false> constexpr explicit
16054# 568
16055pair(const _T1 &__a, const _T2 &__b) : first(__a), second(__b)
16056# 569
16057{ }
16058# 573
16059template< class _U1, class _U2> using _PCCFP = _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ;
16060# 579
16061template< class _U1, class _U2, typename enable_if< _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ConstructiblePair< _U1, _U2> () && _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ImplicitlyConvertiblePair< _U1, _U2> (), bool> ::type
16062# 584
16063 = true> constexpr
16064# 585
16065pair(const pair< _U1, _U2> &__p) : first((__p.first)), second((__p.second))
16066# 587
16067{ ; }
16068# 589
16069template< class _U1, class _U2, typename enable_if< _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ConstructiblePair< _U1, _U2> () && (!_PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ImplicitlyConvertiblePair< _U1, _U2> ()), bool> ::type
16070# 594
16071 = false> constexpr explicit
16072# 595
16073pair(const pair< _U1, _U2> &__p) : first((__p.first)), second((__p.second))
16074# 597
16075{ ; }
16076# 613 "/usr/include/c++/13/bits/stl_pair.h" 3
16077private: struct __zero_as_null_pointer_constant {
16078# 615
16079__zero_as_null_pointer_constant(int (__zero_as_null_pointer_constant::*))
16080# 616
16081{ }
16082# 617
16083template < typename _Tp,
16084 typename = __enable_if_t < is_null_pointer < _Tp > :: value > >
16085 __zero_as_null_pointer_constant ( _Tp ) = delete;
16086# 620
16087};
16088# 636
16089public:
16090# 627
16091template< class _U1, std::__enable_if_t< __and_< __not_< is_reference< _U1> > , is_pointer< _T2> , is_constructible< _T1, _U1> , __not_< is_constructible< _T1, const _U1 &> > , is_convertible< _U1, _T1> > ::value, bool>
16092# 633
16093 = true>
16094# 634
16095__attribute((__deprecated__("use \'nullptr\' instead of \'0\' to initialize std::pair of move-only type and pointer"))) constexpr
16096# 636
16097pair(_U1 &&__x, __zero_as_null_pointer_constant, ...) : first(std::forward< _U1> (__x)), second(nullptr)
16098# 638
16099{ ; }
16100# 640
16101template< class _U1, std::__enable_if_t< __and_< __not_< is_reference< _U1> > , is_pointer< _T2> , is_constructible< _T1, _U1> , __not_< is_constructible< _T1, const _U1 &> > , __not_< is_convertible< _U1, _T1> > > ::value, bool>
16102# 646
16103 = false>
16104# 647
16105__attribute((__deprecated__("use \'nullptr\' instead of \'0\' to initialize std::pair of move-only type and pointer"))) constexpr explicit
16106# 649
16107pair(_U1 &&__x, __zero_as_null_pointer_constant, ...) : first(std::forward< _U1> (__x)), second(nullptr)
16108# 651
16109{ ; }
16110# 653
16111template< class _U2, std::__enable_if_t< __and_< is_pointer< _T1> , __not_< is_reference< _U2> > , is_constructible< _T2, _U2> , __not_< is_constructible< _T2, const _U2 &> > , is_convertible< _U2, _T2> > ::value, bool>
16112# 659
16113 = true>
16114# 660
16115__attribute((__deprecated__("use \'nullptr\' instead of \'0\' to initialize std::pair of move-only type and pointer"))) constexpr
16116# 662
16117pair(__zero_as_null_pointer_constant, _U2 &&__y, ...) : first(nullptr), second(std::forward< _U2> (__y))
16118# 664
16119{ ; }
16120# 666
16121template< class _U2, std::__enable_if_t< __and_< is_pointer< _T1> , __not_< is_reference< _U2> > , is_constructible< _T2, _U2> , __not_< is_constructible< _T2, const _U2 &> > , __not_< is_convertible< _U2, _T2> > > ::value, bool>
16122# 672
16123 = false>
16124# 673
16125__attribute((__deprecated__("use \'nullptr\' instead of \'0\' to initialize std::pair of move-only type and pointer"))) constexpr explicit
16126# 675
16127pair(__zero_as_null_pointer_constant, _U2 &&__y, ...) : first(nullptr), second(std::forward< _U2> (__y))
16128# 677
16129{ ; }
16130# 681
16131template< class _U1, class _U2, typename enable_if< _PCC< true, _T1, _T2> ::template _MoveConstructiblePair< _U1, _U2> () && _PCC< true, _T1, _T2> ::template _ImplicitlyMoveConvertiblePair< _U1, _U2> (), bool> ::type
16132# 686
16133 = true> constexpr
16134# 687
16135pair(_U1 &&__x, _U2 &&__y) : first(std::forward< _U1> (__x)), second(std::forward< _U2> (__y))
16136# 689
16137{ ; }
16138# 691
16139template< class _U1, class _U2, typename enable_if< _PCC< true, _T1, _T2> ::template _MoveConstructiblePair< _U1, _U2> () && (!_PCC< true, _T1, _T2> ::template _ImplicitlyMoveConvertiblePair< _U1, _U2> ()), bool> ::type
16140# 696
16141 = false> constexpr explicit
16142# 697
16143pair(_U1 &&__x, _U2 &&__y) : first(std::forward< _U1> (__x)), second(std::forward< _U2> (__y))
16144# 699
16145{ ; }
16146# 702
16147template< class _U1, class _U2, typename enable_if< _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _MoveConstructiblePair< _U1, _U2> () && _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ImplicitlyMoveConvertiblePair< _U1, _U2> (), bool> ::type
16148# 707
16149 = true> constexpr
16150# 708
16151pair(pair< _U1, _U2> &&__p) : first(std::forward< _U1> ((__p.first))), second(std::forward< _U2> ((__p.second)))
16152# 711
16153{ ; }
16154# 713
16155template< class _U1, class _U2, typename enable_if< _PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _MoveConstructiblePair< _U1, _U2> () && (!_PCC< (!is_same< _T1, _U1> ::value) || (!is_same< _T2, _U2> ::value), _T1, _T2> ::template _ImplicitlyMoveConvertiblePair< _U1, _U2> ()), bool> ::type
16156# 718
16157 = false> constexpr explicit
16158# 719
16159pair(pair< _U1, _U2> &&__p) : first(std::forward< _U1> ((__p.first))), second(std::forward< _U2> ((__p.second)))
16160# 722
16161{ ; }
16162# 727
16163pair &operator=(std::__conditional_t< __and_< is_copy_assignable< _T1> , is_copy_assignable< _T2> > ::value, const pair &, const std::__nonesuch &>
16164# 729
16165__p)
16166# 730
16167{
16168# 731
16169(first) = (__p.first);
16170# 732
16171(second) = (__p.second);
16172# 733
16173return *this;
16174# 734
16175}
16176# 737
16177pair &operator=(std::__conditional_t< __and_< is_move_assignable< _T1> , is_move_assignable< _T2> > ::value, pair &&, std::__nonesuch &&>
16178# 739
16179__p) noexcept(__and_< is_nothrow_move_assignable< _T1> , is_nothrow_move_assignable< _T2> > ::value)
16180# 742
16181{
16182# 743
16183(first) = std::forward< first_type> ((__p.first));
16184# 744
16185(second) = std::forward< second_type> ((__p.second));
16186# 745
16187return *this;
16188# 746
16189}
16190# 748
16191template< class _U1, class _U2> typename enable_if< __and_< is_assignable< _T1 &, const _U1 &> , is_assignable< _T2 &, const _U2 &> > ::value, pair &> ::type
16192# 752
16193operator=(const pair< _U1, _U2> &__p)
16194# 753
16195{
16196# 754
16197(first) = (__p.first);
16198# 755
16199(second) = (__p.second);
16200# 756
16201return *this;
16202# 757
16203}
16204# 759
16205template< class _U1, class _U2> typename enable_if< __and_< is_assignable< _T1 &, _U1 &&> , is_assignable< _T2 &, _U2 &&> > ::value, pair &> ::type
16206# 763
16207operator=(pair< _U1, _U2> &&__p)
16208# 764
16209{
16210# 765
16211(first) = std::forward< _U1> ((__p.first));
16212# 766
16213(second) = std::forward< _U2> ((__p.second));
16214# 767
16215return *this;
16216# 768
16217}
16218# 801 "/usr/include/c++/13/bits/stl_pair.h" 3
16219};
16220# 806
16221template< class _T1, class _T2> pair(_T1, _T2)->pair< _T1, _T2> ;
16222# 810
16223template< class _T1, class _T2> constexpr bool
16224# 812
16225operator==(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16226# 813
16227{ return ((__x.first) == (__y.first)) && ((__x.second) == (__y.second)); }
16228# 833 "/usr/include/c++/13/bits/stl_pair.h" 3
16229template< class _T1, class _T2> constexpr bool
16230# 835
16231operator<(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16232# 836
16233{ return ((__x.first) < (__y.first)) || ((!((__y.first) < (__x.first))) && ((__x.second) < (__y.second)));
16234# 837
16235}
16236# 840
16237template< class _T1, class _T2> constexpr bool
16238# 842
16239operator!=(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16240# 843
16241{ return !(__x == __y); }
16242# 846
16243template< class _T1, class _T2> constexpr bool
16244# 848
16245operator>(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16246# 849
16247{ return __y < __x; }
16248# 852
16249template< class _T1, class _T2> constexpr bool
16250# 854
16251operator<=(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16252# 855
16253{ return !(__y < __x); }
16254# 858
16255template< class _T1, class _T2> constexpr bool
16256# 860
16257operator>=(const pair< _T1, _T2> &__x, const pair< _T1, _T2> &__y)
16258# 861
16259{ return !(__x < __y); }
16260# 870 "/usr/include/c++/13/bits/stl_pair.h" 3
16261template< class _T1, class _T2> inline typename enable_if< __and_< __is_swappable< _T1> , __is_swappable< _T2> > ::value> ::type
16262# 879
16263swap(pair< _T1, _T2> &__x, pair< _T1, _T2> &__y) noexcept(noexcept(__x.swap(__y)))
16264# 881
16265{ __x.swap(__y); }
16266# 893 "/usr/include/c++/13/bits/stl_pair.h" 3
16267template < typename _T1, typename _T2 >
16268 typename enable_if < ! __and_ < __is_swappable < _T1 >,
16269 __is_swappable < _T2 > > :: value > :: type
16270 swap ( pair < _T1, _T2 > &, pair < _T1, _T2 > & ) = delete;
16271# 919 "/usr/include/c++/13/bits/stl_pair.h" 3
16272template< class _T1, class _T2> constexpr pair< typename __decay_and_strip< _T1> ::__type, typename __decay_and_strip< _T2> ::__type>
16273# 922
16274make_pair(_T1 &&__x, _T2 &&__y)
16275# 923
16276{
16277# 924
16278typedef typename __decay_and_strip< _T1> ::__type __ds_type1;
16279# 925
16280typedef typename __decay_and_strip< _T2> ::__type __ds_type2;
16281# 926
16282typedef pair< typename __decay_and_strip< _T1> ::__type, typename __decay_and_strip< _T2> ::__type> __pair_type;
16283# 927
16284return __pair_type(std::forward< _T1> (__x), std::forward< _T2> (__y));
16285# 928
16286}
16287# 942 "/usr/include/c++/13/bits/stl_pair.h" 3
16288template< class _T1, class _T2>
16289# 943
16290struct __is_tuple_like_impl< pair< _T1, _T2> > : public true_type {
16291# 944
16292};
16293# 948
16294template< class _Tp1, class _Tp2>
16295# 949
16296struct tuple_size< pair< _Tp1, _Tp2> > : public integral_constant< unsigned long, 2UL> {
16297# 950
16298};
16299# 953
16300template< class _Tp1, class _Tp2>
16301# 954
16302struct tuple_element< 0, pair< _Tp1, _Tp2> > {
16303# 955
16304typedef _Tp1 type; };
16305# 958
16306template< class _Tp1, class _Tp2>
16307# 959
16308struct tuple_element< 1, pair< _Tp1, _Tp2> > {
16309# 960
16310typedef _Tp2 type; };
16311# 963
16312template< class _Tp1, class _Tp2> constexpr inline size_t
16313# 964
16314tuple_size_v< pair< _Tp1, _Tp2> > = (2);
16315# 966
16316template< class _Tp1, class _Tp2> constexpr inline size_t
16317# 967
16318tuple_size_v< const pair< _Tp1, _Tp2> > = (2);
16319# 969
16320template< class _Tp> constexpr inline bool
16321# 970
16322__is_pair = false;
16323# 972
16324template< class _Tp, class _Up> constexpr inline bool
16325# 973
16326__is_pair< pair< _Tp, _Up> > = true;
16327# 977
16328template< size_t _Int> struct __pair_get;
16329# 981
16330template<> struct __pair_get< 0UL> {
16331# 983
16332template< class _Tp1, class _Tp2> static constexpr _Tp1 &
16333# 985
16334__get(pair< _Tp1, _Tp2> &__pair) noexcept
16335# 986
16336{ return __pair.first; }
16337# 988
16338template< class _Tp1, class _Tp2> static constexpr _Tp1 &&
16339# 990
16340__move_get(pair< _Tp1, _Tp2> &&__pair) noexcept
16341# 991
16342{ return std::forward< _Tp1> ((__pair.first)); }
16343# 993
16344template< class _Tp1, class _Tp2> static constexpr const _Tp1 &
16345# 995
16346__const_get(const pair< _Tp1, _Tp2> &__pair) noexcept
16347# 996
16348{ return __pair.first; }
16349# 998
16350template< class _Tp1, class _Tp2> static constexpr const _Tp1 &&
16351# 1000
16352__const_move_get(const pair< _Tp1, _Tp2> &&__pair) noexcept
16353# 1001
16354{ return std::forward< const _Tp1> ((__pair.first)); }
16355# 1002
16356};
16357# 1005
16358template<> struct __pair_get< 1UL> {
16359# 1007
16360template< class _Tp1, class _Tp2> static constexpr _Tp2 &
16361# 1009
16362__get(pair< _Tp1, _Tp2> &__pair) noexcept
16363# 1010
16364{ return __pair.second; }
16365# 1012
16366template< class _Tp1, class _Tp2> static constexpr _Tp2 &&
16367# 1014
16368__move_get(pair< _Tp1, _Tp2> &&__pair) noexcept
16369# 1015
16370{ return std::forward< _Tp2> ((__pair.second)); }
16371# 1017
16372template< class _Tp1, class _Tp2> static constexpr const _Tp2 &
16373# 1019
16374__const_get(const pair< _Tp1, _Tp2> &__pair) noexcept
16375# 1020
16376{ return __pair.second; }
16377# 1022
16378template< class _Tp1, class _Tp2> static constexpr const _Tp2 &&
16379# 1024
16380__const_move_get(const pair< _Tp1, _Tp2> &&__pair) noexcept
16381# 1025
16382{ return std::forward< const _Tp2> ((__pair.second)); }
16383# 1026
16384};
16385# 1033
16386template< size_t _Int, class _Tp1, class _Tp2> constexpr typename tuple_element< _Int, pair< _Tp1, _Tp2> > ::type &
16387# 1035
16388get(pair< _Tp1, _Tp2> &__in) noexcept
16389# 1036
16390{ return __pair_get< _Int> ::__get(__in); }
16391# 1038
16392template< size_t _Int, class _Tp1, class _Tp2> constexpr typename tuple_element< _Int, pair< _Tp1, _Tp2> > ::type &&
16393# 1040
16394get(pair< _Tp1, _Tp2> &&__in) noexcept
16395# 1041
16396{ return __pair_get< _Int> ::__move_get(std::move(__in)); }
16397# 1043
16398template< size_t _Int, class _Tp1, class _Tp2> constexpr const typename tuple_element< _Int, pair< _Tp1, _Tp2> > ::type &
16399# 1045
16400get(const pair< _Tp1, _Tp2> &__in) noexcept
16401# 1046
16402{ return __pair_get< _Int> ::__const_get(__in); }
16403# 1048
16404template< size_t _Int, class _Tp1, class _Tp2> constexpr const typename tuple_element< _Int, pair< _Tp1, _Tp2> > ::type &&
16405# 1050
16406get(const pair< _Tp1, _Tp2> &&__in) noexcept
16407# 1051
16408{ return __pair_get< _Int> ::__const_move_get(std::move(__in)); }
16409# 1057
16410template< class _Tp, class _Up> constexpr _Tp &
16411# 1059
16412get(pair< _Tp, _Up> &__p) noexcept
16413# 1060
16414{ return __p.first; }
16415# 1062
16416template< class _Tp, class _Up> constexpr const _Tp &
16417# 1064
16418get(const pair< _Tp, _Up> &__p) noexcept
16419# 1065
16420{ return __p.first; }
16421# 1067
16422template< class _Tp, class _Up> constexpr _Tp &&
16423# 1069
16424get(pair< _Tp, _Up> &&__p) noexcept
16425# 1070
16426{ return std::move((__p.first)); }
16427# 1072
16428template< class _Tp, class _Up> constexpr const _Tp &&
16429# 1074
16430get(const pair< _Tp, _Up> &&__p) noexcept
16431# 1075
16432{ return std::move((__p.first)); }
16433# 1077
16434template< class _Tp, class _Up> constexpr _Tp &
16435# 1079
16436get(pair< _Up, _Tp> &__p) noexcept
16437# 1080
16438{ return __p.second; }
16439# 1082
16440template< class _Tp, class _Up> constexpr const _Tp &
16441# 1084
16442get(const pair< _Up, _Tp> &__p) noexcept
16443# 1085
16444{ return __p.second; }
16445# 1087
16446template< class _Tp, class _Up> constexpr _Tp &&
16447# 1089
16448get(pair< _Up, _Tp> &&__p) noexcept
16449# 1090
16450{ return std::move((__p.second)); }
16451# 1092
16452template< class _Tp, class _Up> constexpr const _Tp &&
16453# 1094
16454get(const pair< _Up, _Tp> &&__p) noexcept
16455# 1095
16456{ return std::move((__p.second)); }
16457# 1119 "/usr/include/c++/13/bits/stl_pair.h" 3
16458}
16459# 74 "/usr/include/c++/13/bits/stl_iterator_base_types.h" 3
16460namespace std __attribute((__visibility__("default"))) {
16461# 93 "/usr/include/c++/13/bits/stl_iterator_base_types.h" 3
16462struct input_iterator_tag { };
16463# 96
16464struct output_iterator_tag { };
16465# 99
16466struct forward_iterator_tag : public input_iterator_tag { };
16467# 103
16468struct bidirectional_iterator_tag : public forward_iterator_tag { };
16469# 107
16470struct random_access_iterator_tag : public bidirectional_iterator_tag { };
16471# 125 "/usr/include/c++/13/bits/stl_iterator_base_types.h" 3
16472template< class _Category, class _Tp, class _Distance = ptrdiff_t, class
16473# 126
16474_Pointer = _Tp *, class _Reference = _Tp &>
16475# 127
16476struct [[__deprecated__]] iterator {
16477# 130
16478typedef _Category iterator_category;
16479# 132
16480typedef _Tp value_type;
16481# 134
16482typedef _Distance difference_type;
16483# 136
16484typedef _Pointer pointer;
16485# 138
16486typedef _Reference reference;
16487# 139
16488};
16489# 149 "/usr/include/c++/13/bits/stl_iterator_base_types.h" 3
16490template< class _Iterator> struct iterator_traits;
16491# 155
16492template< class _Iterator, class = __void_t< > >
16493# 156
16494struct __iterator_traits { };
16495# 160
16496template< class _Iterator>
16497# 161
16498struct __iterator_traits< _Iterator, __void_t< typename _Iterator::iterator_category, typename _Iterator::value_type, typename _Iterator::difference_type, typename _Iterator::pointer, typename _Iterator::reference> > {
16499# 168
16500typedef typename _Iterator::iterator_category iterator_category;
16501# 169
16502typedef typename _Iterator::value_type value_type;
16503# 170
16504typedef typename _Iterator::difference_type difference_type;
16505# 171
16506typedef typename _Iterator::pointer pointer;
16507# 172
16508typedef typename _Iterator::reference reference;
16509# 173
16510};
16511# 176
16512template< class _Iterator>
16513# 177
16514struct iterator_traits : public __iterator_traits< _Iterator> {
16515# 178
16516};
16517# 209 "/usr/include/c++/13/bits/stl_iterator_base_types.h" 3
16518template< class _Tp>
16519# 210
16520struct iterator_traits< _Tp *> {
16521# 212
16522typedef random_access_iterator_tag iterator_category;
16523# 213
16524typedef _Tp value_type;
16525# 214
16526typedef ptrdiff_t difference_type;
16527# 215
16528typedef _Tp *pointer;
16529# 216
16530typedef _Tp &reference;
16531# 217
16532};
16533# 220
16534template< class _Tp>
16535# 221
16536struct iterator_traits< const _Tp *> {
16537# 223
16538typedef random_access_iterator_tag iterator_category;
16539# 224
16540typedef _Tp value_type;
16541# 225
16542typedef ptrdiff_t difference_type;
16543# 226
16544typedef const _Tp *pointer;
16545# 227
16546typedef const _Tp &reference;
16547# 228
16548};
16549# 235
16550template< class _Iter>
16551# 236
16552__attribute((__always_inline__)) constexpr typename iterator_traits< _Iter> ::iterator_category
16553# 239
16554__iterator_category(const _Iter &)
16555# 240
16556{ return typename iterator_traits< _Iter> ::iterator_category(); }
16557# 245
16558template< class _Iter> using __iter_category_t = typename iterator_traits< _Iter> ::iterator_category;
16559# 249
16560template< class _InIter> using _RequireInputIter = __enable_if_t< is_convertible< __iter_category_t< _InIter> , input_iterator_tag> ::value> ;
16561# 254
16562template< class _It, class
16563# 255
16564_Cat = __iter_category_t< _It> >
16565# 256
16566struct __is_random_access_iter : public is_base_of< random_access_iterator_tag, _Cat> {
16567# 259
16568typedef is_base_of< std::random_access_iterator_tag, _Cat> _Base;
16569# 260
16570enum { __value = is_base_of< std::random_access_iterator_tag, _Cat> ::value};
16571# 261
16572};
16573# 270
16574}
16575# 68 "/usr/include/c++/13/bits/stl_iterator_base_funcs.h" 3
16576namespace std __attribute((__visibility__("default"))) {
16577# 74
16578template< class > struct _List_iterator;
16579# 75
16580template< class > struct _List_const_iterator;
16581# 78
16582template< class _InputIterator> constexpr typename iterator_traits< _InputIterator> ::difference_type
16583# 81
16584__distance(_InputIterator __first, _InputIterator __last, input_iterator_tag)
16585# 83
16586{
16587# 87
16588typename iterator_traits< _InputIterator> ::difference_type __n = (0);
16589# 88
16590while (__first != __last)
16591# 89
16592{
16593# 90
16594++__first;
16595# 91
16596++__n;
16597# 92
16598}
16599# 93
16600return __n;
16601# 94
16602}
16603# 96
16604template< class _RandomAccessIterator>
16605# 97
16606__attribute((__always_inline__)) constexpr typename iterator_traits< _RandomAccessIterator> ::difference_type
16607# 100
16608__distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
16609# 102
16610{
16611# 106
16612return __last - __first;
16613# 107
16614}
16615# 111
16616template< class _Tp> ptrdiff_t __distance(_List_iterator< _Tp> , _List_iterator< _Tp> , input_iterator_tag);
16617# 117
16618template< class _Tp> ptrdiff_t __distance(_List_const_iterator< _Tp> , _List_const_iterator< _Tp> , input_iterator_tag);
16619# 126
16620template < typename _OutputIterator >
16621 void
16622 __distance ( _OutputIterator, _OutputIterator, output_iterator_tag ) = delete;
16623# 144 "/usr/include/c++/13/bits/stl_iterator_base_funcs.h" 3
16624template< class _InputIterator>
16625# 145
16626[[__nodiscard__]] __attribute((__always_inline__)) constexpr typename iterator_traits< _InputIterator> ::difference_type
16627# 148
16628distance(_InputIterator __first, _InputIterator __last)
16629# 149
16630{
16631# 151
16632return std::__distance(__first, __last, std::__iterator_category(__first));
16633# 153
16634}
16635# 155
16636template< class _InputIterator, class _Distance> constexpr void
16637# 157
16638__advance(_InputIterator &__i, _Distance __n, input_iterator_tag)
16639# 158
16640{
16641# 161
16642do { if (std::__is_constant_evaluated() && (!((bool)(__n >= 0)))) { __builtin_unreachable(); } } while (false);
16643# 162
16644while (__n--) {
16645# 163
16646++__i; }
16647# 164
16648}
16649# 166
16650template< class _BidirectionalIterator, class _Distance> constexpr void
16651# 168
16652__advance(_BidirectionalIterator &__i, _Distance __n, bidirectional_iterator_tag)
16653# 170
16654{
16655# 174
16656if (__n > 0) {
16657# 175
16658while (__n--) {
16659# 176
16660++__i; } } else {
16661# 178
16662while (__n++) {
16663# 179
16664--__i; } }
16665# 180
16666}
16667# 182
16668template< class _RandomAccessIterator, class _Distance> constexpr void
16669# 184
16670__advance(_RandomAccessIterator &__i, _Distance __n, random_access_iterator_tag)
16671# 186
16672{
16673# 190
16674if (__builtin_constant_p(__n) && (__n == 1)) {
16675# 191
16676++__i; } else {
16677# 192
16678if (__builtin_constant_p(__n) && (__n == (-1))) {
16679# 193
16680--__i; } else {
16681# 195
16682__i += __n; } }
16683# 196
16684}
16685# 200
16686template < typename _OutputIterator, typename _Distance >
16687 void
16688 __advance ( _OutputIterator &, _Distance, output_iterator_tag ) = delete;
16689# 217 "/usr/include/c++/13/bits/stl_iterator_base_funcs.h" 3
16690template< class _InputIterator, class _Distance>
16691# 218
16692__attribute((__always_inline__)) constexpr void
16693# 220
16694advance(_InputIterator &__i, _Distance __n)
16695# 221
16696{
16697# 223
16698typename iterator_traits< _InputIterator> ::difference_type __d = __n;
16699# 224
16700std::__advance(__i, __d, std::__iterator_category(__i));
16701# 225
16702}
16703# 229
16704template< class _InputIterator>
16705# 230
16706[[__nodiscard__]] [[__gnu__::__always_inline__]] constexpr _InputIterator
16707# 232
16708next(_InputIterator __x, typename iterator_traits< _InputIterator> ::difference_type
16709# 233
16710__n = 1)
16711# 234
16712{
16713# 237
16714std::advance(__x, __n);
16715# 238
16716return __x;
16717# 239
16718}
16719# 241
16720template< class _BidirectionalIterator>
16721# 242
16722[[__nodiscard__]] [[__gnu__::__always_inline__]] constexpr _BidirectionalIterator
16723# 244
16724prev(_BidirectionalIterator __x, typename iterator_traits< _BidirectionalIterator> ::difference_type
16725# 245
16726__n = 1)
16727# 246
16728{
16729# 250
16730std::advance(__x, -__n);
16731# 251
16732return __x;
16733# 252
16734}
16735# 257
16736}
16737# 49 "/usr/include/c++/13/bits/ptr_traits.h" 3
16738namespace std __attribute((__visibility__("default"))) {
16739# 55
16740class __undefined;
16741# 59
16742template< class _Tp>
16743# 60
16744struct __get_first_arg {
16745# 61
16746using type = __undefined; };
16747# 63
16748template< template< class , class ...> class _SomeTemplate, class _Tp, class ...
16749# 64
16750_Types>
16751# 65
16752struct __get_first_arg< _SomeTemplate< _Tp, _Types...> > {
16753# 66
16754using type = _Tp; };
16755# 70
16756template< class _Tp, class _Up>
16757# 71
16758struct __replace_first_arg {
16759# 72
16760};
16761# 74
16762template< template< class , class ...> class _SomeTemplate, class _Up, class
16763# 75
16764_Tp, class ..._Types>
16765# 76
16766struct __replace_first_arg< _SomeTemplate< _Tp, _Types...> , _Up> {
16767# 77
16768using type = _SomeTemplate< _Up, _Types...> ; };
16769# 80
16770template< class _Ptr, class = void>
16771# 81
16772struct __ptr_traits_elem : public __get_first_arg< _Ptr> {
16773# 82
16774};
16775# 90
16776template< class _Ptr>
16777# 91
16778struct __ptr_traits_elem< _Ptr, __void_t< typename _Ptr::element_type> > {
16779# 92
16780using type = typename _Ptr::element_type; };
16781# 95
16782template< class _Ptr> using __ptr_traits_elem_t = typename __ptr_traits_elem< _Ptr> ::type;
16783# 101
16784template< class _Ptr, class _Elt, bool = is_void< _Elt> ::value>
16785# 102
16786struct __ptr_traits_ptr_to {
16787# 104
16788using pointer = _Ptr;
16789# 105
16790using element_type = _Elt;
16791# 114
16792static pointer pointer_to(element_type &__r)
16793# 120
16794{ return pointer::pointer_to(__r); }
16795# 121
16796};
16797# 124
16798template< class _Ptr, class _Elt>
16799# 125
16800struct __ptr_traits_ptr_to< _Ptr, _Elt, true> {
16801# 126
16802};
16803# 129
16804template< class _Tp>
16805# 130
16806struct __ptr_traits_ptr_to< _Tp *, _Tp, false> {
16807# 132
16808using pointer = _Tp *;
16809# 133
16810using element_type = _Tp;
16811# 141
16812static pointer pointer_to(element_type &__r) noexcept
16813# 142
16814{ return std::addressof(__r); }
16815# 143
16816};
16817# 145
16818template< class _Ptr, class _Elt>
16819# 146
16820struct __ptr_traits_impl : public __ptr_traits_ptr_to< _Ptr, _Elt> {
16821# 150
16822private:
16823# 149
16824template< class _Tp> using __diff_t = typename _Tp::difference_type;
16825# 152
16826template< class _Tp, class _Up> using __rebind = __type_identity< typename _Tp::template rebind< _Up> > ;
16827# 157
16828public: using pointer = _Ptr;
16829# 160
16830using element_type = _Elt;
16831# 163
16832using difference_type = std::__detected_or_t< std::ptrdiff_t, __diff_t, _Ptr> ;
16833# 166
16834template< class _Up> using rebind = typename std::__detected_or_t< __replace_first_arg< _Ptr, _Up> , __rebind, _Ptr, _Up> ::type;
16835# 169
16836};
16837# 173
16838template< class _Ptr>
16839# 174
16840struct __ptr_traits_impl< _Ptr, __undefined> {
16841# 175
16842};
16843# 183
16844template< class _Ptr>
16845# 184
16846struct pointer_traits : public __ptr_traits_impl< _Ptr, __ptr_traits_elem_t< _Ptr> > {
16847# 185
16848};
16849# 193
16850template< class _Tp>
16851# 194
16852struct pointer_traits< _Tp *> : public __ptr_traits_ptr_to< _Tp *, _Tp> {
16853# 197
16854typedef _Tp *pointer;
16855# 199
16856typedef _Tp element_type;
16857# 201
16858typedef std::ptrdiff_t difference_type;
16859# 203
16860template< class _Up> using rebind = _Up *;
16861# 204
16862};
16863# 207
16864template< class _Ptr, class _Tp> using __ptr_rebind = typename pointer_traits< _Ptr> ::template rebind< _Tp> ;
16865# 210
16866template< class _Tp> constexpr _Tp *
16867# 212
16868__to_address(_Tp *__ptr) noexcept
16869# 213
16870{
16871# 214
16872static_assert((!std::template is_function< _Tp> ::value), "not a function pointer");
16873# 215
16874return __ptr;
16875# 216
16876}
16877# 219
16878template< class _Ptr> constexpr typename pointer_traits< _Ptr> ::element_type *
16879# 221
16880__to_address(const _Ptr &__ptr)
16881# 222
16882{ return std::__to_address(__ptr.operator->()); }
16883# 267 "/usr/include/c++/13/bits/ptr_traits.h" 3
16884}
16885# 88 "/usr/include/c++/13/bits/stl_iterator.h" 3
16886namespace std __attribute((__visibility__("default"))) {
16887# 113 "/usr/include/c++/13/bits/stl_iterator.h" 3
16888#pragma GCC diagnostic push
16889#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
16890# 135 "/usr/include/c++/13/bits/stl_iterator.h" 3
16891template< class _Iterator>
16892# 136
16893class reverse_iterator : public iterator< typename iterator_traits< _Iterator> ::iterator_category, typename iterator_traits< _Iterator> ::value_type, typename iterator_traits< _Iterator> ::difference_type, typename iterator_traits< _Iterator> ::pointer, typename iterator_traits< _Iterator> ::reference> {
16894# 143
16895template< class _Iter> friend class reverse_iterator;
16896# 155 "/usr/include/c++/13/bits/stl_iterator.h" 3
16897protected: _Iterator current;
16898# 157
16899typedef iterator_traits< _Iterator> __traits_type;
16900# 160
16901public: typedef _Iterator iterator_type;
16902# 161
16903typedef typename iterator_traits< _Iterator> ::pointer pointer;
16904# 163
16905typedef typename iterator_traits< _Iterator> ::difference_type difference_type;
16906# 164
16907typedef typename iterator_traits< _Iterator> ::reference reference;
16908# 186 "/usr/include/c++/13/bits/stl_iterator.h" 3
16909constexpr reverse_iterator() noexcept(noexcept((_Iterator()))) : current()
16910# 189
16911{ }
16912# 195
16913constexpr explicit reverse_iterator(iterator_type __x) noexcept(noexcept(((_Iterator)__x))) : current(__x)
16914# 198
16915{ }
16916# 204
16917constexpr reverse_iterator(const reverse_iterator &__x) noexcept(noexcept(((_Iterator)(__x.current)))) : current(__x.current)
16918# 207
16919{ }
16920# 210
16921reverse_iterator &operator=(const reverse_iterator &) = default;
16922# 217
16923template< class _Iter> constexpr
16924# 222
16925reverse_iterator(const reverse_iterator< _Iter> &__x) noexcept(noexcept(((_Iterator)(__x.current)))) : current((__x.current))
16926# 225
16927{ }
16928# 228
16929template< class _Iter> constexpr reverse_iterator &
16930# 235
16931operator=(const reverse_iterator< _Iter> &__x) noexcept(noexcept(((current) = (__x.current))))
16932# 237
16933{
16934# 238
16935(current) = (__x.current);
16936# 239
16937return *this;
16938# 240
16939}
16940# 246
16941[[__nodiscard__]] constexpr iterator_type
16942# 248
16943base() const noexcept(noexcept(((_Iterator)(current))))
16944# 250
16945{ return current; }
16946# 262 "/usr/include/c++/13/bits/stl_iterator.h" 3
16947[[__nodiscard__]] constexpr reference
16948# 264
16949operator*() const
16950# 265
16951{
16952# 266
16953_Iterator __tmp = current;
16954# 267
16955return *(--__tmp);
16956# 268
16957}
16958# 275
16959[[__nodiscard__]] constexpr pointer
16960# 277
16961operator->() const
16962# 282
16963{
16964# 285
16965_Iterator __tmp = current;
16966# 286
16967--__tmp;
16968# 287
16969return _S_to_pointer(__tmp);
16970# 288
16971}
16972# 296
16973constexpr reverse_iterator &operator++()
16974# 297
16975{
16976# 298
16977--(current);
16978# 299
16979return *this;
16980# 300
16981}
16982# 308
16983constexpr reverse_iterator operator++(int)
16984# 309
16985{
16986# 310
16987reverse_iterator __tmp = *this;
16988# 311
16989--(current);
16990# 312
16991return __tmp;
16992# 313
16993}
16994# 321
16995constexpr reverse_iterator &operator--()
16996# 322
16997{
16998# 323
16999++(current);
17000# 324
17001return *this;
17002# 325
17003}
17004# 333
17005constexpr reverse_iterator operator--(int)
17006# 334
17007{
17008# 335
17009reverse_iterator __tmp = *this;
17010# 336
17011++(current);
17012# 337
17013return __tmp;
17014# 338
17015}
17016# 345
17017[[__nodiscard__]] constexpr reverse_iterator
17018# 347
17019operator+(difference_type __n) const
17020# 348
17021{ return ((reverse_iterator)((current) - __n)); }
17022# 357
17023constexpr reverse_iterator &operator+=(difference_type __n)
17024# 358
17025{
17026# 359
17027(current) -= __n;
17028# 360
17029return *this;
17030# 361
17031}
17032# 368
17033[[__nodiscard__]] constexpr reverse_iterator
17034# 370
17035operator-(difference_type __n) const
17036# 371
17037{ return ((reverse_iterator)((current) + __n)); }
17038# 380
17039constexpr reverse_iterator &operator-=(difference_type __n)
17040# 381
17041{
17042# 382
17043(current) += __n;
17044# 383
17045return *this;
17046# 384
17047}
17048# 391
17049[[__nodiscard__]] constexpr reference
17050# 393
17051operator[](difference_type __n) const
17052# 394
17053{ return *((*this) + __n); }
17054# 425 "/usr/include/c++/13/bits/stl_iterator.h" 3
17055private:
17056# 423
17057template< class _Tp> static constexpr _Tp *
17058# 425
17059_S_to_pointer(_Tp *__p)
17060# 426
17061{ return __p; }
17062# 428
17063template< class _Tp> static constexpr pointer
17064# 430
17065_S_to_pointer(_Tp __t)
17066# 431
17067{ return __t.operator->(); }
17068# 432
17069};
17070# 445 "/usr/include/c++/13/bits/stl_iterator.h" 3
17071template< class _Iterator>
17072# 446
17073[[__nodiscard__]] constexpr bool
17074# 448
17075operator==(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17076# 449
17077__y)
17078# 450
17079{ return __x.base() == __y.base(); }
17080# 452
17081template< class _Iterator>
17082# 453
17083[[__nodiscard__]] constexpr bool
17084# 455
17085operator<(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17086# 456
17087__y)
17088# 457
17089{ return __y.base() < __x.base(); }
17090# 459
17091template< class _Iterator>
17092# 460
17093[[__nodiscard__]] constexpr bool
17094# 462
17095operator!=(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17096# 463
17097__y)
17098# 464
17099{ return !(__x == __y); }
17100# 466
17101template< class _Iterator>
17102# 467
17103[[__nodiscard__]] constexpr bool
17104# 469
17105operator>(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17106# 470
17107__y)
17108# 471
17109{ return __y < __x; }
17110# 473
17111template< class _Iterator>
17112# 474
17113[[__nodiscard__]] constexpr bool
17114# 476
17115operator<=(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17116# 477
17117__y)
17118# 478
17119{ return !(__y < __x); }
17120# 480
17121template< class _Iterator>
17122# 481
17123[[__nodiscard__]] constexpr bool
17124# 483
17125operator>=(const reverse_iterator< _Iterator> &__x, const reverse_iterator< _Iterator> &
17126# 484
17127__y)
17128# 485
17129{ return !(__x < __y); }
17130# 490
17131template< class _IteratorL, class _IteratorR>
17132# 491
17133[[__nodiscard__]] constexpr bool
17134# 493
17135operator==(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17136# 494
17137__y)
17138# 495
17139{ return __x.base() == __y.base(); }
17140# 497
17141template< class _IteratorL, class _IteratorR>
17142# 498
17143[[__nodiscard__]] constexpr bool
17144# 500
17145operator<(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17146# 501
17147__y)
17148# 502
17149{ return __x.base() > __y.base(); }
17150# 504
17151template< class _IteratorL, class _IteratorR>
17152# 505
17153[[__nodiscard__]] constexpr bool
17154# 507
17155operator!=(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17156# 508
17157__y)
17158# 509
17159{ return __x.base() != __y.base(); }
17160# 511
17161template< class _IteratorL, class _IteratorR>
17162# 512
17163[[__nodiscard__]] constexpr bool
17164# 514
17165operator>(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17166# 515
17167__y)
17168# 516
17169{ return __x.base() < __y.base(); }
17170# 518
17171template< class _IteratorL, class _IteratorR> constexpr bool
17172# 520
17173operator<=(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17174# 521
17175__y)
17176# 522
17177{ return __x.base() >= __y.base(); }
17178# 524
17179template< class _IteratorL, class _IteratorR>
17180# 525
17181[[__nodiscard__]] constexpr bool
17182# 527
17183operator>=(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17184# 528
17185__y)
17186# 529
17187{ return __x.base() <= __y.base(); }
17188# 622 "/usr/include/c++/13/bits/stl_iterator.h" 3
17189template< class _IteratorL, class _IteratorR>
17190# 623
17191[[__nodiscard__]] constexpr auto
17192# 625
17193operator-(const reverse_iterator< _IteratorL> &__x, const reverse_iterator< _IteratorR> &
17194# 626
17195__y)->__decltype((__y.base() - __x.base()))
17196# 628
17197{ return __y.base() - __x.base(); }
17198# 631
17199template< class _Iterator>
17200# 632
17201[[__nodiscard__]] constexpr reverse_iterator< _Iterator>
17202# 634
17203operator+(typename reverse_iterator< _Iterator> ::difference_type __n, const reverse_iterator< _Iterator> &
17204# 635
17205__x)
17206# 636
17207{ return ((reverse_iterator< _Iterator> )(__x.base() - __n)); }
17208# 640
17209template< class _Iterator> constexpr reverse_iterator< _Iterator>
17210# 642
17211__make_reverse_iterator(_Iterator __i)
17212# 643
17213{ return ((reverse_iterator< _Iterator> )(__i)); }
17214# 651
17215template< class _Iterator>
17216# 652
17217[[__nodiscard__]] constexpr reverse_iterator< _Iterator>
17218# 654
17219make_reverse_iterator(_Iterator __i)
17220# 655
17221{ return ((reverse_iterator< _Iterator> )(__i)); }
17222# 666 "/usr/include/c++/13/bits/stl_iterator.h" 3
17223template< class _Iterator> auto
17224# 669
17225__niter_base(reverse_iterator< _Iterator> __it)->__decltype((__make_reverse_iterator(__niter_base(__it.base()))))
17226# 671
17227{ return __make_reverse_iterator(__niter_base(__it.base())); }
17228# 673
17229template< class _Iterator>
17230# 674
17231struct __is_move_iterator< reverse_iterator< _Iterator> > : public std::__is_move_iterator< _Iterator> {
17232# 676
17233};
17234# 678
17235template< class _Iterator> auto
17236# 681
17237__miter_base(reverse_iterator< _Iterator> __it)->__decltype((__make_reverse_iterator(__miter_base(__it.base()))))
17238# 683
17239{ return __make_reverse_iterator(__miter_base(__it.base())); }
17240# 697 "/usr/include/c++/13/bits/stl_iterator.h" 3
17241template< class _Container>
17242# 698
17243class back_insert_iterator : public iterator< output_iterator_tag, void, void, void, void> {
17244# 702
17245protected: _Container *container;
17246# 706
17247public: typedef _Container container_type;
17248# 713
17249explicit back_insert_iterator(_Container &__x) : container(std::__addressof(__x))
17250# 714
17251{ }
17252# 737 "/usr/include/c++/13/bits/stl_iterator.h" 3
17253back_insert_iterator &operator=(const typename _Container::value_type &__value)
17254# 738
17255{
17256# 739
17257(container)->push_back(__value);
17258# 740
17259return *this;
17260# 741
17261}
17262# 745
17263back_insert_iterator &operator=(typename _Container::value_type &&__value)
17264# 746
17265{
17266# 747
17267(container)->push_back(std::move(__value));
17268# 748
17269return *this;
17270# 749
17271}
17272# 753
17273[[__nodiscard__]] back_insert_iterator &
17274# 755
17275operator*()
17276# 756
17277{ return *this; }
17278# 761
17279back_insert_iterator &operator++()
17280# 762
17281{ return *this; }
17282# 767
17283back_insert_iterator operator++(int)
17284# 768
17285{ return *this; }
17286# 769
17287};
17288# 782 "/usr/include/c++/13/bits/stl_iterator.h" 3
17289template< class _Container>
17290# 783
17291[[__nodiscard__]] inline back_insert_iterator< _Container>
17292# 785
17293back_inserter(_Container &__x)
17294# 786
17295{ return ((back_insert_iterator< _Container> )(__x)); }
17296# 798 "/usr/include/c++/13/bits/stl_iterator.h" 3
17297template< class _Container>
17298# 799
17299class front_insert_iterator : public iterator< output_iterator_tag, void, void, void, void> {
17300# 803
17301protected: _Container *container;
17302# 807
17303public: typedef _Container container_type;
17304# 814
17305explicit front_insert_iterator(_Container &__x) : container(std::__addressof(__x))
17306# 815
17307{ }
17308# 838 "/usr/include/c++/13/bits/stl_iterator.h" 3
17309front_insert_iterator &operator=(const typename _Container::value_type &__value)
17310# 839
17311{
17312# 840
17313(container)->push_front(__value);
17314# 841
17315return *this;
17316# 842
17317}
17318# 846
17319front_insert_iterator &operator=(typename _Container::value_type &&__value)
17320# 847
17321{
17322# 848
17323(container)->push_front(std::move(__value));
17324# 849
17325return *this;
17326# 850
17327}
17328# 854
17329[[__nodiscard__]] front_insert_iterator &
17330# 856
17331operator*()
17332# 857
17333{ return *this; }
17334# 862
17335front_insert_iterator &operator++()
17336# 863
17337{ return *this; }
17338# 868
17339front_insert_iterator operator++(int)
17340# 869
17341{ return *this; }
17342# 870
17343};
17344# 883 "/usr/include/c++/13/bits/stl_iterator.h" 3
17345template< class _Container>
17346# 884
17347[[__nodiscard__]] inline front_insert_iterator< _Container>
17348# 886
17349front_inserter(_Container &__x)
17350# 887
17351{ return ((front_insert_iterator< _Container> )(__x)); }
17352# 903 "/usr/include/c++/13/bits/stl_iterator.h" 3
17353template< class _Container>
17354# 904
17355class insert_iterator : public iterator< output_iterator_tag, void, void, void, void> {
17356# 910
17357typedef typename _Container::iterator _Iter;
17358# 913
17359protected: _Container *container;
17360# 914
17361_Iter iter;
17362# 918
17363public: typedef _Container container_type;
17364# 929 "/usr/include/c++/13/bits/stl_iterator.h" 3
17365insert_iterator(_Container &__x, _Iter __i) : container(std::__addressof(__x)), iter(__i)
17366# 930
17367{ }
17368# 966 "/usr/include/c++/13/bits/stl_iterator.h" 3
17369insert_iterator &operator=(const typename _Container::value_type &__value)
17370# 967
17371{
17372# 968
17373(iter) = (container)->insert(iter, __value);
17374# 969
17375++(iter);
17376# 970
17377return *this;
17378# 971
17379}
17380# 975
17381insert_iterator &operator=(typename _Container::value_type &&__value)
17382# 976
17383{
17384# 977
17385(iter) = (container)->insert(iter, std::move(__value));
17386# 978
17387++(iter);
17388# 979
17389return *this;
17390# 980
17391}
17392# 984
17393[[__nodiscard__]] insert_iterator &
17394# 986
17395operator*()
17396# 987
17397{ return *this; }
17398# 992
17399insert_iterator &operator++()
17400# 993
17401{ return *this; }
17402# 998
17403insert_iterator &operator++(int)
17404# 999
17405{ return *this; }
17406# 1000
17407};
17408# 1002
17409#pragma GCC diagnostic pop
17410# 1023 "/usr/include/c++/13/bits/stl_iterator.h" 3
17411template< class _Container>
17412# 1024
17413[[__nodiscard__]] inline insert_iterator< _Container>
17414# 1026
17415inserter(_Container &__x, typename _Container::iterator __i)
17416# 1027
17417{ return insert_iterator< _Container> (__x, __i); }
17418# 1033
17419}
17420# 1035
17421namespace __gnu_cxx __attribute((__visibility__("default"))) {
17422# 1046 "/usr/include/c++/13/bits/stl_iterator.h" 3
17423template< class _Iterator, class _Container>
17424# 1047
17425class __normal_iterator {
17426# 1050
17427protected: _Iterator _M_current;
17428# 1052
17429typedef std::iterator_traits< _Iterator> __traits_type;
17430# 1055
17431template< class _Iter> using __convertible_from = std::__enable_if_t< std::is_convertible< _Iter, _Iterator> ::value> ;
17432# 1061
17433public: typedef _Iterator iterator_type;
17434# 1062
17435typedef typename std::iterator_traits< _Iterator> ::iterator_category iterator_category;
17436# 1063
17437typedef typename std::iterator_traits< _Iterator> ::value_type value_type;
17438# 1064
17439typedef typename std::iterator_traits< _Iterator> ::difference_type difference_type;
17440# 1065
17441typedef typename std::iterator_traits< _Iterator> ::reference reference;
17442# 1066
17443typedef typename std::iterator_traits< _Iterator> ::pointer pointer;
17444# 1072
17445constexpr __normal_iterator() noexcept : _M_current(_Iterator())
17446# 1073
17447{ }
17448# 1076
17449explicit __normal_iterator(const _Iterator &__i) noexcept : _M_current(__i)
17450# 1077
17451{ }
17452# 1081
17453template< class _Iter, class = __convertible_from< _Iter> >
17454# 1083
17455__normal_iterator(const __normal_iterator< _Iter, _Container> &__i) noexcept : _M_current(__i.base())
17456# 1094 "/usr/include/c++/13/bits/stl_iterator.h" 3
17457{ }
17458# 1099
17459reference operator*() const noexcept
17460# 1100
17461{ return *(_M_current); }
17462# 1104
17463pointer operator->() const noexcept
17464# 1105
17465{ return _M_current; }
17466# 1109
17467__normal_iterator &operator++() noexcept
17468# 1110
17469{
17470# 1111
17471++(_M_current);
17472# 1112
17473return *this;
17474# 1113
17475}
17476# 1117
17477__normal_iterator operator++(int) noexcept
17478# 1118
17479{ return ((__normal_iterator)((_M_current)++)); }
17480# 1123
17481__normal_iterator &operator--() noexcept
17482# 1124
17483{
17484# 1125
17485--(_M_current);
17486# 1126
17487return *this;
17488# 1127
17489}
17490# 1131
17491__normal_iterator operator--(int) noexcept
17492# 1132
17493{ return ((__normal_iterator)((_M_current)--)); }
17494# 1137
17495reference operator[](difference_type __n) const noexcept
17496# 1138
17497{ return (_M_current)[__n]; }
17498# 1142
17499__normal_iterator &operator+=(difference_type __n) noexcept
17500# 1143
17501{ (_M_current) += __n; return *this; }
17502# 1147
17503__normal_iterator operator+(difference_type __n) const noexcept
17504# 1148
17505{ return ((__normal_iterator)((_M_current) + __n)); }
17506# 1152
17507__normal_iterator &operator-=(difference_type __n) noexcept
17508# 1153
17509{ (_M_current) -= __n; return *this; }
17510# 1157
17511__normal_iterator operator-(difference_type __n) const noexcept
17512# 1158
17513{ return ((__normal_iterator)((_M_current) - __n)); }
17514# 1162
17515const _Iterator &base() const noexcept
17516# 1163
17517{ return _M_current; }
17518# 1164
17519};
17520# 1214 "/usr/include/c++/13/bits/stl_iterator.h" 3
17521template< class _IteratorL, class _IteratorR, class _Container>
17522# 1215
17523[[__nodiscard__]] inline bool
17524# 1217
17525operator==(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17526# 1218
17527__rhs) noexcept
17528# 1220
17529{ return __lhs.base() == __rhs.base(); }
17530# 1222
17531template< class _Iterator, class _Container>
17532# 1223
17533[[__nodiscard__]] inline bool
17534# 1225
17535operator==(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17536# 1226
17537__rhs) noexcept
17538# 1228
17539{ return __lhs.base() == __rhs.base(); }
17540# 1230
17541template< class _IteratorL, class _IteratorR, class _Container>
17542# 1231
17543[[__nodiscard__]] inline bool
17544# 1233
17545operator!=(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17546# 1234
17547__rhs) noexcept
17548# 1236
17549{ return __lhs.base() != __rhs.base(); }
17550# 1238
17551template< class _Iterator, class _Container>
17552# 1239
17553[[__nodiscard__]] inline bool
17554# 1241
17555operator!=(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17556# 1242
17557__rhs) noexcept
17558# 1244
17559{ return __lhs.base() != __rhs.base(); }
17560# 1247
17561template< class _IteratorL, class _IteratorR, class _Container>
17562# 1248
17563[[__nodiscard__]] inline bool
17564# 1250
17565operator<(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17566# 1251
17567__rhs) noexcept
17568# 1253
17569{ return __lhs.base() < __rhs.base(); }
17570# 1255
17571template< class _Iterator, class _Container>
17572# 1256
17573[[__nodiscard__]] inline bool
17574# 1258
17575operator<(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17576# 1259
17577__rhs) noexcept
17578# 1261
17579{ return __lhs.base() < __rhs.base(); }
17580# 1263
17581template< class _IteratorL, class _IteratorR, class _Container>
17582# 1264
17583[[__nodiscard__]] inline bool
17584# 1266
17585operator>(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17586# 1267
17587__rhs) noexcept
17588# 1269
17589{ return __lhs.base() > __rhs.base(); }
17590# 1271
17591template< class _Iterator, class _Container>
17592# 1272
17593[[__nodiscard__]] inline bool
17594# 1274
17595operator>(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17596# 1275
17597__rhs) noexcept
17598# 1277
17599{ return __lhs.base() > __rhs.base(); }
17600# 1279
17601template< class _IteratorL, class _IteratorR, class _Container>
17602# 1280
17603[[__nodiscard__]] inline bool
17604# 1282
17605operator<=(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17606# 1283
17607__rhs) noexcept
17608# 1285
17609{ return __lhs.base() <= __rhs.base(); }
17610# 1287
17611template< class _Iterator, class _Container>
17612# 1288
17613[[__nodiscard__]] inline bool
17614# 1290
17615operator<=(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17616# 1291
17617__rhs) noexcept
17618# 1293
17619{ return __lhs.base() <= __rhs.base(); }
17620# 1295
17621template< class _IteratorL, class _IteratorR, class _Container>
17622# 1296
17623[[__nodiscard__]] inline bool
17624# 1298
17625operator>=(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17626# 1299
17627__rhs) noexcept
17628# 1301
17629{ return __lhs.base() >= __rhs.base(); }
17630# 1303
17631template< class _Iterator, class _Container>
17632# 1304
17633[[__nodiscard__]] inline bool
17634# 1306
17635operator>=(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17636# 1307
17637__rhs) noexcept
17638# 1309
17639{ return __lhs.base() >= __rhs.base(); }
17640# 1316
17641template< class _IteratorL, class _IteratorR, class _Container>
17642# 1319
17643[[__nodiscard__]] inline auto
17644# 1321
17645operator-(const __normal_iterator< _IteratorL, _Container> &__lhs, const __normal_iterator< _IteratorR, _Container> &
17646# 1322
17647__rhs) noexcept->__decltype((__lhs.base() - __rhs.base()))
17648# 1329
17649{ return __lhs.base() - __rhs.base(); }
17650# 1331
17651template< class _Iterator, class _Container>
17652# 1332
17653[[__nodiscard__]] inline typename __normal_iterator< _Iterator, _Container> ::difference_type
17654# 1334
17655operator-(const __normal_iterator< _Iterator, _Container> &__lhs, const __normal_iterator< _Iterator, _Container> &
17656# 1335
17657__rhs) noexcept
17658# 1337
17659{ return __lhs.base() - __rhs.base(); }
17660# 1339
17661template< class _Iterator, class _Container>
17662# 1340
17663[[__nodiscard__]] inline __normal_iterator< _Iterator, _Container>
17664# 1342
17665operator+(typename __normal_iterator< _Iterator, _Container> ::difference_type
17666# 1343
17667__n, const __normal_iterator< _Iterator, _Container> &__i) noexcept
17668# 1345
17669{ return ((__normal_iterator< _Iterator, _Container> )(__i.base() + __n)); }
17670# 1348
17671}
17672# 1350
17673namespace std __attribute((__visibility__("default"))) {
17674# 1354
17675template< class _Iterator, class _Container> _Iterator
17676# 1357
17677__niter_base(__gnu_cxx::__normal_iterator< _Iterator, _Container> __it) noexcept(std::template is_nothrow_copy_constructible< _Iterator> ::value)
17678# 1359
17679{ return __it.base(); }
17680# 1366
17681template< class _Iterator, class _Container> constexpr auto
17682# 1368
17683__to_address(const __gnu_cxx::__normal_iterator< _Iterator, _Container> &
17684# 1369
17685__it) noexcept->__decltype((std::__to_address(__it.base())))
17686# 1371
17687{ return std::__to_address(__it.base()); }
17688# 1421 "/usr/include/c++/13/bits/stl_iterator.h" 3
17689namespace __detail {
17690# 1437 "/usr/include/c++/13/bits/stl_iterator.h" 3
17691}
17692# 1448 "/usr/include/c++/13/bits/stl_iterator.h" 3
17693template< class _Iterator>
17694# 1449
17695class move_iterator {
17696# 1454
17697_Iterator _M_current;
17698# 1456
17699using __traits_type = iterator_traits< _Iterator> ;
17700# 1458
17701using __base_ref = typename iterator_traits< _Iterator> ::reference;
17702# 1461
17703template< class _Iter2> friend class move_iterator;
17704# 1488 "/usr/include/c++/13/bits/stl_iterator.h" 3
17705public: using iterator_type = _Iterator;
17706# 1501 "/usr/include/c++/13/bits/stl_iterator.h" 3
17707typedef typename iterator_traits< _Iterator> ::iterator_category iterator_category;
17708# 1502
17709typedef typename iterator_traits< _Iterator> ::value_type value_type;
17710# 1503
17711typedef typename iterator_traits< _Iterator> ::difference_type difference_type;
17712# 1505
17713typedef _Iterator pointer;
17714# 1508
17715using reference = __conditional_t< is_reference< __base_ref> ::value, typename remove_reference< __base_ref> ::type &&, __base_ref> ;
17716# 1515
17717constexpr move_iterator() : _M_current()
17718# 1516
17719{ }
17720# 1519
17721constexpr explicit move_iterator(iterator_type __i) : _M_current(std::move(__i))
17722# 1520
17723{ }
17724# 1522
17725template< class _Iter> constexpr
17726# 1527
17727move_iterator(const move_iterator< _Iter> &__i) : _M_current((__i._M_current))
17728# 1528
17729{ }
17730# 1530
17731template< class _Iter> constexpr move_iterator &
17732# 1536
17733operator=(const move_iterator< _Iter> &__i)
17734# 1537
17735{
17736# 1538
17737(_M_current) = (__i._M_current);
17738# 1539
17739return *this;
17740# 1540
17741}
17742# 1543
17743[[__nodiscard__]] constexpr iterator_type
17744# 1545
17745base() const
17746# 1546
17747{ return _M_current; }
17748# 1559 "/usr/include/c++/13/bits/stl_iterator.h" 3
17749[[__nodiscard__]] constexpr reference
17750# 1561
17751operator*() const
17752# 1565
17753{ return static_cast< reference>(*(_M_current)); }
17754# 1568
17755[[__nodiscard__]] constexpr pointer
17756# 1570
17757operator->() const
17758# 1571
17759{ return _M_current; }
17760# 1574
17761constexpr move_iterator &operator++()
17762# 1575
17763{
17764# 1576
17765++(_M_current);
17766# 1577
17767return *this;
17768# 1578
17769}
17770# 1581
17771constexpr move_iterator operator++(int)
17772# 1582
17773{
17774# 1583
17775move_iterator __tmp = *this;
17776# 1584
17777++(_M_current);
17778# 1585
17779return __tmp;
17780# 1586
17781}
17782# 1595
17783constexpr move_iterator &operator--()
17784# 1596
17785{
17786# 1597
17787--(_M_current);
17788# 1598
17789return *this;
17790# 1599
17791}
17792# 1602
17793constexpr move_iterator operator--(int)
17794# 1603
17795{
17796# 1604
17797move_iterator __tmp = *this;
17798# 1605
17799--(_M_current);
17800# 1606
17801return __tmp;
17802# 1607
17803}
17804# 1609
17805[[__nodiscard__]] constexpr move_iterator
17806# 1611
17807operator+(difference_type __n) const
17808# 1612
17809{ return ((move_iterator)((_M_current) + __n)); }
17810# 1615
17811constexpr move_iterator &operator+=(difference_type __n)
17812# 1616
17813{
17814# 1617
17815(_M_current) += __n;
17816# 1618
17817return *this;
17818# 1619
17819}
17820# 1621
17821[[__nodiscard__]] constexpr move_iterator
17822# 1623
17823operator-(difference_type __n) const
17824# 1624
17825{ return ((move_iterator)((_M_current) - __n)); }
17826# 1627
17827constexpr move_iterator &operator-=(difference_type __n)
17828# 1628
17829{
17830# 1629
17831(_M_current) -= __n;
17832# 1630
17833return *this;
17834# 1631
17835}
17836# 1633
17837[[__nodiscard__]] constexpr reference
17838# 1635
17839operator[](difference_type __n) const
17840# 1639
17841{ return std::move((_M_current)[__n]); }
17842# 1673 "/usr/include/c++/13/bits/stl_iterator.h" 3
17843};
17844# 1675
17845template< class _IteratorL, class _IteratorR>
17846# 1676
17847[[__nodiscard__]] constexpr bool
17848# 1678
17849operator==(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17850# 1679
17851__y)
17852# 1683
17853{ return __x.base() == __y.base(); }
17854# 1694 "/usr/include/c++/13/bits/stl_iterator.h" 3
17855template< class _IteratorL, class _IteratorR>
17856# 1695
17857[[__nodiscard__]] constexpr bool
17858# 1697
17859operator!=(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17860# 1698
17861__y)
17862# 1699
17863{ return !(__x == __y); }
17864# 1702
17865template< class _IteratorL, class _IteratorR>
17866# 1703
17867[[__nodiscard__]] constexpr bool
17868# 1705
17869operator<(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17870# 1706
17871__y)
17872# 1710
17873{ return __x.base() < __y.base(); }
17874# 1712
17875template< class _IteratorL, class _IteratorR>
17876# 1713
17877[[__nodiscard__]] constexpr bool
17878# 1715
17879operator<=(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17880# 1716
17881__y)
17882# 1720
17883{ return !(__y < __x); }
17884# 1722
17885template< class _IteratorL, class _IteratorR>
17886# 1723
17887[[__nodiscard__]] constexpr bool
17888# 1725
17889operator>(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17890# 1726
17891__y)
17892# 1730
17893{ return __y < __x; }
17894# 1732
17895template< class _IteratorL, class _IteratorR>
17896# 1733
17897[[__nodiscard__]] constexpr bool
17898# 1735
17899operator>=(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17900# 1736
17901__y)
17902# 1740
17903{ return !(__x < __y); }
17904# 1745
17905template< class _Iterator>
17906# 1746
17907[[__nodiscard__]] constexpr bool
17908# 1748
17909operator==(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17910# 1749
17911__y)
17912# 1750
17913{ return __x.base() == __y.base(); }
17914# 1760 "/usr/include/c++/13/bits/stl_iterator.h" 3
17915template< class _Iterator>
17916# 1761
17917[[__nodiscard__]] constexpr bool
17918# 1763
17919operator!=(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17920# 1764
17921__y)
17922# 1765
17923{ return !(__x == __y); }
17924# 1767
17925template< class _Iterator>
17926# 1768
17927[[__nodiscard__]] constexpr bool
17928# 1770
17929operator<(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17930# 1771
17931__y)
17932# 1772
17933{ return __x.base() < __y.base(); }
17934# 1774
17935template< class _Iterator>
17936# 1775
17937[[__nodiscard__]] constexpr bool
17938# 1777
17939operator<=(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17940# 1778
17941__y)
17942# 1779
17943{ return !(__y < __x); }
17944# 1781
17945template< class _Iterator>
17946# 1782
17947[[__nodiscard__]] constexpr bool
17948# 1784
17949operator>(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17950# 1785
17951__y)
17952# 1786
17953{ return __y < __x; }
17954# 1788
17955template< class _Iterator>
17956# 1789
17957[[__nodiscard__]] constexpr bool
17958# 1791
17959operator>=(const move_iterator< _Iterator> &__x, const move_iterator< _Iterator> &
17960# 1792
17961__y)
17962# 1793
17963{ return !(__x < __y); }
17964# 1797
17965template< class _IteratorL, class _IteratorR>
17966# 1798
17967[[__nodiscard__]] constexpr auto
17968# 1800
17969operator-(const move_iterator< _IteratorL> &__x, const move_iterator< _IteratorR> &
17970# 1801
17971__y)->__decltype((__x.base() - __y.base()))
17972# 1803
17973{ return __x.base() - __y.base(); }
17974# 1805
17975template< class _Iterator>
17976# 1806
17977[[__nodiscard__]] constexpr move_iterator< _Iterator>
17978# 1808
17979operator+(typename move_iterator< _Iterator> ::difference_type __n, const move_iterator< _Iterator> &
17980# 1809
17981__x)
17982# 1810
17983{ return __x + __n; }
17984# 1812
17985template< class _Iterator>
17986# 1813
17987[[__nodiscard__]] constexpr move_iterator< _Iterator>
17988# 1815
17989make_move_iterator(_Iterator __i)
17990# 1816
17991{ return ((move_iterator< _Iterator> )(std::move(__i))); }
17992# 1818
17993template< class _Iterator, class _ReturnType = __conditional_t< __move_if_noexcept_cond< typename iterator_traits< _Iterator> ::value_type> ::value, _Iterator, move_iterator< _Iterator> > > constexpr _ReturnType
17994# 1823
17995__make_move_if_noexcept_iterator(_Iterator __i)
17996# 1824
17997{ return (_ReturnType)__i; }
17998# 1828
17999template< class _Tp, class _ReturnType = __conditional_t< __move_if_noexcept_cond< _Tp> ::value, const _Tp *, move_iterator< _Tp *> > > constexpr _ReturnType
18000# 1832
18001__make_move_if_noexcept_iterator(_Tp *__i)
18002# 1833
18003{ return (_ReturnType)__i; }
18004# 2951 "/usr/include/c++/13/bits/stl_iterator.h" 3
18005template< class _Iterator> auto
18006# 2954
18007__niter_base(move_iterator< _Iterator> __it)->__decltype((make_move_iterator(__niter_base(__it.base()))))
18008# 2956
18009{ return make_move_iterator(__niter_base(__it.base())); }
18010# 2958
18011template< class _Iterator>
18012# 2959
18013struct __is_move_iterator< move_iterator< _Iterator> > {
18014# 2961
18015enum { __value = 1};
18016# 2962
18017typedef __true_type __type;
18018# 2963
18019};
18020# 2965
18021template< class _Iterator> auto
18022# 2968
18023__miter_base(move_iterator< _Iterator> __it)->__decltype((__miter_base(__it.base())))
18024# 2970
18025{ return __miter_base(__it.base()); }
18026# 2983 "/usr/include/c++/13/bits/stl_iterator.h" 3
18027template< class _InputIterator> using __iter_key_t = remove_const_t< typename iterator_traits< _InputIterator> ::value_type::first_type> ;
18028# 2987
18029template< class _InputIterator> using __iter_val_t = typename iterator_traits< _InputIterator> ::value_type::second_type;
18030# 2991
18031template< class _T1, class _T2> struct pair;
18032# 2994
18033template< class _InputIterator> using __iter_to_alloc_t = pair< const __iter_key_t< _InputIterator> , __iter_val_t< _InputIterator> > ;
18034# 3000
18035}
18036# 48 "/usr/include/c++/13/debug/debug.h" 3
18037namespace std {
18038# 50
18039namespace __debug { }
18040# 51
18041}
18042# 56
18043namespace __gnu_debug {
18044# 58
18045using namespace std::__debug;
18046# 60
18047template< class _Ite, class _Seq, class _Cat> struct _Safe_iterator;
18048# 62
18049}
18050# 35 "/usr/include/c++/13/bits/predefined_ops.h" 3
18051namespace __gnu_cxx {
18052# 37
18053namespace __ops {
18054# 39
18055struct _Iter_less_iter {
18056# 41
18057template< class _Iterator1, class _Iterator2> constexpr bool
18058# 44
18059operator()(_Iterator1 __it1, _Iterator2 __it2) const
18060# 45
18061{ return (*__it1) < (*__it2); }
18062# 46
18063};
18064# 50
18065constexpr _Iter_less_iter __iter_less_iter()
18066# 51
18067{ return _Iter_less_iter(); }
18068# 53
18069struct _Iter_less_val {
18070# 56
18071constexpr _Iter_less_val() = default;
18072# 63
18073explicit _Iter_less_val(_Iter_less_iter) { }
18074# 65
18075template< class _Iterator, class _Value> bool
18076# 68
18077operator()(_Iterator __it, _Value &__val) const
18078# 69
18079{ return (*__it) < __val; }
18080# 70
18081};
18082# 74
18083inline _Iter_less_val __iter_less_val()
18084# 75
18085{ return _Iter_less_val(); }
18086# 79
18087inline _Iter_less_val __iter_comp_val(_Iter_less_iter)
18088# 80
18089{ return _Iter_less_val(); }
18090# 82
18091struct _Val_less_iter {
18092# 85
18093constexpr _Val_less_iter() = default;
18094# 92
18095explicit _Val_less_iter(_Iter_less_iter) { }
18096# 94
18097template< class _Value, class _Iterator> bool
18098# 97
18099operator()(_Value &__val, _Iterator __it) const
18100# 98
18101{ return __val < (*__it); }
18102# 99
18103};
18104# 103
18105inline _Val_less_iter __val_less_iter()
18106# 104
18107{ return _Val_less_iter(); }
18108# 108
18109inline _Val_less_iter __val_comp_iter(_Iter_less_iter)
18110# 109
18111{ return _Val_less_iter(); }
18112# 111
18113struct _Iter_equal_to_iter {
18114# 113
18115template< class _Iterator1, class _Iterator2> bool
18116# 116
18117operator()(_Iterator1 __it1, _Iterator2 __it2) const
18118# 117
18119{ return (*__it1) == (*__it2); }
18120# 118
18121};
18122# 122
18123inline _Iter_equal_to_iter __iter_equal_to_iter()
18124# 123
18125{ return _Iter_equal_to_iter(); }
18126# 125
18127struct _Iter_equal_to_val {
18128# 127
18129template< class _Iterator, class _Value> bool
18130# 130
18131operator()(_Iterator __it, _Value &__val) const
18132# 131
18133{ return (*__it) == __val; }
18134# 132
18135};
18136# 136
18137inline _Iter_equal_to_val __iter_equal_to_val()
18138# 137
18139{ return _Iter_equal_to_val(); }
18140# 141
18141inline _Iter_equal_to_val __iter_comp_val(_Iter_equal_to_iter)
18142# 142
18143{ return _Iter_equal_to_val(); }
18144# 144
18145template< class _Compare>
18146# 145
18147struct _Iter_comp_iter {
18148# 147
18149_Compare _M_comp;
18150# 150
18151constexpr explicit _Iter_comp_iter(_Compare __comp) : _M_comp(std::move(__comp))
18152# 152
18153{ }
18154# 154
18155template< class _Iterator1, class _Iterator2> constexpr bool
18156# 157
18157operator()(_Iterator1 __it1, _Iterator2 __it2)
18158# 158
18159{ return (bool)(_M_comp)(*__it1, *__it2); }
18160# 159
18161};
18162# 161
18163template< class _Compare> constexpr _Iter_comp_iter< _Compare>
18164# 164
18165__iter_comp_iter(_Compare __comp)
18166# 165
18167{ return ((_Iter_comp_iter< _Compare> )(std::move(__comp))); }
18168# 167
18169template< class _Compare>
18170# 168
18171struct _Iter_comp_val {
18172# 170
18173_Compare _M_comp;
18174# 174
18175explicit _Iter_comp_val(_Compare __comp) : _M_comp(std::move(__comp))
18176# 176
18177{ }
18178# 180
18179explicit _Iter_comp_val(const _Iter_comp_iter< _Compare> &__comp) : _M_comp((__comp._M_comp))
18180# 182
18181{ }
18182# 187
18183explicit _Iter_comp_val(_Iter_comp_iter< _Compare> &&__comp) : _M_comp(std::move((__comp._M_comp)))
18184# 189
18185{ }
18186# 192
18187template< class _Iterator, class _Value> bool
18188# 195
18189operator()(_Iterator __it, _Value &__val)
18190# 196
18191{ return (bool)(_M_comp)(*__it, __val); }
18192# 197
18193};
18194# 199
18195template< class _Compare> inline _Iter_comp_val< _Compare>
18196# 202
18197__iter_comp_val(_Compare __comp)
18198# 203
18199{ return ((_Iter_comp_val< _Compare> )(std::move(__comp))); }
18200# 205
18201template< class _Compare> inline _Iter_comp_val< _Compare>
18202# 208
18203__iter_comp_val(_Iter_comp_iter< _Compare> __comp)
18204# 209
18205{ return ((_Iter_comp_val< _Compare> )(std::move(__comp))); }
18206# 211
18207template< class _Compare>
18208# 212
18209struct _Val_comp_iter {
18210# 214
18211_Compare _M_comp;
18212# 218
18213explicit _Val_comp_iter(_Compare __comp) : _M_comp(std::move(__comp))
18214# 220
18215{ }
18216# 224
18217explicit _Val_comp_iter(const _Iter_comp_iter< _Compare> &__comp) : _M_comp((__comp._M_comp))
18218# 226
18219{ }
18220# 231
18221explicit _Val_comp_iter(_Iter_comp_iter< _Compare> &&__comp) : _M_comp(std::move((__comp._M_comp)))
18222# 233
18223{ }
18224# 236
18225template< class _Value, class _Iterator> bool
18226# 239
18227operator()(_Value &__val, _Iterator __it)
18228# 240
18229{ return (bool)(_M_comp)(__val, *__it); }
18230# 241
18231};
18232# 243
18233template< class _Compare> inline _Val_comp_iter< _Compare>
18234# 246
18235__val_comp_iter(_Compare __comp)
18236# 247
18237{ return ((_Val_comp_iter< _Compare> )(std::move(__comp))); }
18238# 249
18239template< class _Compare> inline _Val_comp_iter< _Compare>
18240# 252
18241__val_comp_iter(_Iter_comp_iter< _Compare> __comp)
18242# 253
18243{ return ((_Val_comp_iter< _Compare> )(std::move(__comp))); }
18244# 255
18245template< class _Value>
18246# 256
18247struct _Iter_equals_val {
18248# 258
18249_Value &_M_value;
18250# 262
18251explicit _Iter_equals_val(_Value &__value) : _M_value(__value)
18252# 264
18253{ }
18254# 266
18255template< class _Iterator> bool
18256# 269
18257operator()(_Iterator __it)
18258# 270
18259{ return (*__it) == (_M_value); }
18260# 271
18261};
18262# 273
18263template< class _Value> inline _Iter_equals_val< _Value>
18264# 276
18265__iter_equals_val(_Value &__val)
18266# 277
18267{ return ((_Iter_equals_val< _Value> )(__val)); }
18268# 279
18269template< class _Iterator1>
18270# 280
18271struct _Iter_equals_iter {
18272# 282
18273_Iterator1 _M_it1;
18274# 286
18275explicit _Iter_equals_iter(_Iterator1 __it1) : _M_it1(__it1)
18276# 288
18277{ }
18278# 290
18279template< class _Iterator2> bool
18280# 293
18281operator()(_Iterator2 __it2)
18282# 294
18283{ return (*__it2) == (*(_M_it1)); }
18284# 295
18285};
18286# 297
18287template< class _Iterator> inline _Iter_equals_iter< _Iterator>
18288# 300
18289__iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
18290# 301
18291{ return ((_Iter_equals_iter< _Iterator> )(__it)); }
18292# 303
18293template< class _Predicate>
18294# 304
18295struct _Iter_pred {
18296# 306
18297_Predicate _M_pred;
18298# 310
18299explicit _Iter_pred(_Predicate __pred) : _M_pred(std::move(__pred))
18300# 312
18301{ }
18302# 314
18303template< class _Iterator> bool
18304# 317
18305operator()(_Iterator __it)
18306# 318
18307{ return (bool)(_M_pred)(*__it); }
18308# 319
18309};
18310# 321
18311template< class _Predicate> inline _Iter_pred< _Predicate>
18312# 324
18313__pred_iter(_Predicate __pred)
18314# 325
18315{ return ((_Iter_pred< _Predicate> )(std::move(__pred))); }
18316# 327
18317template< class _Compare, class _Value>
18318# 328
18319struct _Iter_comp_to_val {
18320# 330
18321_Compare _M_comp;
18322# 331
18323_Value &_M_value;
18324# 334
18325_Iter_comp_to_val(_Compare __comp, _Value &__value) : _M_comp(std::move(__comp)), _M_value(__value)
18326# 336
18327{ }
18328# 338
18329template< class _Iterator> bool
18330# 341
18331operator()(_Iterator __it)
18332# 342
18333{ return (bool)(_M_comp)(*__it, _M_value); }
18334# 343
18335};
18336# 345
18337template< class _Compare, class _Value> _Iter_comp_to_val< _Compare, _Value>
18338# 348
18339__iter_comp_val(_Compare __comp, _Value &__val)
18340# 349
18341{
18342# 350
18343return _Iter_comp_to_val< _Compare, _Value> (std::move(__comp), __val);
18344# 351
18345}
18346# 353
18347template< class _Compare, class _Iterator1>
18348# 354
18349struct _Iter_comp_to_iter {
18350# 356
18351_Compare _M_comp;
18352# 357
18353_Iterator1 _M_it1;
18354# 360
18355_Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) : _M_comp(std::move(__comp)), _M_it1(__it1)
18356# 362
18357{ }
18358# 364
18359template< class _Iterator2> bool
18360# 367
18361operator()(_Iterator2 __it2)
18362# 368
18363{ return (bool)(_M_comp)(*__it2, *(_M_it1)); }
18364# 369
18365};
18366# 371
18367template< class _Compare, class _Iterator> inline _Iter_comp_to_iter< _Compare, _Iterator>
18368# 374
18369__iter_comp_iter(_Iter_comp_iter< _Compare> __comp, _Iterator __it)
18370# 375
18371{
18372# 376
18373return _Iter_comp_to_iter< _Compare, _Iterator> (std::move((__comp._M_comp)), __it);
18374# 378
18375}
18376# 380
18377template< class _Predicate>
18378# 381
18379struct _Iter_negate {
18380# 383
18381_Predicate _M_pred;
18382# 387
18383explicit _Iter_negate(_Predicate __pred) : _M_pred(std::move(__pred))
18384# 389
18385{ }
18386# 391
18387template< class _Iterator> bool
18388# 394
18389operator()(_Iterator __it)
18390# 395
18391{ return !((bool)(_M_pred)(*__it)); }
18392# 396
18393};
18394# 398
18395template< class _Predicate> inline _Iter_negate< _Predicate>
18396# 401
18397__negate(_Iter_pred< _Predicate> __pred)
18398# 402
18399{ return ((_Iter_negate< _Predicate> )(std::move((__pred._M_pred)))); }
18400# 404
18401}
18402# 405
18403}
18404# 55 "/usr/include/c++/13/bit" 3
18405namespace std __attribute((__visibility__("default"))) {
18406# 149 "/usr/include/c++/13/bit" 3
18407template< class _Tp> constexpr _Tp
18408# 151
18409__rotl(_Tp __x, int __s) noexcept
18410# 152
18411{
18412# 153
18413constexpr auto _Nd = (__gnu_cxx::__int_traits< _Tp> ::__digits);
18414# 154
18415if constexpr ((_Nd & (_Nd - 1)) == 0)
18416# 155
18417{
18418# 158
18419constexpr unsigned __uNd = (_Nd);
18420# 159
18421const unsigned __r = __s;
18422# 160
18423return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
18424# 161
18425}
18426# 162
18427const int __r = __s % _Nd;
18428# 163
18429if (__r == 0) {
18430# 164
18431return __x; } else {
18432# 165
18433if (__r > 0) {
18434# 166
18435return (__x << __r) | (__x >> ((_Nd - __r) % _Nd)); } else {
18436# 168
18437return (__x >> (-__r)) | (__x << ((_Nd + __r) % _Nd)); } }
18438# 169
18439}
18440# 171
18441template< class _Tp> constexpr _Tp
18442# 173
18443__rotr(_Tp __x, int __s) noexcept
18444# 174
18445{
18446# 175
18447constexpr auto _Nd = (__gnu_cxx::__int_traits< _Tp> ::__digits);
18448# 176
18449if constexpr ((_Nd & (_Nd - 1)) == 0)
18450# 177
18451{
18452# 180
18453constexpr unsigned __uNd = (_Nd);
18454# 181
18455const unsigned __r = __s;
18456# 182
18457return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
18458# 183
18459}
18460# 184
18461const int __r = __s % _Nd;
18462# 185
18463if (__r == 0) {
18464# 186
18465return __x; } else {
18466# 187
18467if (__r > 0) {
18468# 188
18469return (__x >> __r) | (__x << ((_Nd - __r) % _Nd)); } else {
18470# 190
18471return (__x << (-__r)) | (__x >> ((_Nd + __r) % _Nd)); } }
18472# 191
18473}
18474# 193
18475template< class _Tp> constexpr int
18476# 195
18477__countl_zero(_Tp __x) noexcept
18478# 196
18479{
18480# 197
18481using __gnu_cxx::__int_traits;
18482# 198
18483constexpr auto _Nd = (__int_traits< _Tp> ::__digits);
18484# 200
18485if (__x == 0) {
18486# 201
18487return _Nd; }
18488# 203
18489constexpr auto _Nd_ull = __int_traits< unsigned long long> ::__digits;
18490# 204
18491constexpr auto _Nd_ul = __int_traits< unsigned long> ::__digits;
18492# 205
18493constexpr auto _Nd_u = __int_traits< unsigned> ::__digits;
18494# 207
18495if constexpr (_Nd <= _Nd_u)
18496# 208
18497{
18498# 209
18499constexpr int __diff = (_Nd_u - _Nd);
18500# 210
18501return __builtin_clz(__x) - __diff;
18502# 211
18503} else {
18504# 212
18505if constexpr (_Nd <= _Nd_ul)
18506# 213
18507{
18508# 214
18509constexpr int __diff = (_Nd_ul - _Nd);
18510# 215
18511return __builtin_clzl(__x) - __diff;
18512# 216
18513} else {
18514# 217
18515if constexpr (_Nd <= _Nd_ull)
18516# 218
18517{
18518# 219
18519constexpr int __diff = (_Nd_ull - _Nd);
18520# 220
18521return __builtin_clzll(__x) - __diff;
18522# 221
18523} else
18524# 223
18525{
18526# 224
18527static_assert((_Nd <= (2 * _Nd_ull)), "Maximum supported integer size is 128-bit");
18528# 227
18529unsigned long long __high = __x >> _Nd_ull;
18530# 228
18531if (__high != (0))
18532# 229
18533{
18534# 230
18535constexpr int __diff = ((2 * _Nd_ull) - _Nd);
18536# 231
18537return __builtin_clzll(__high) - __diff;
18538# 232
18539}
18540# 233
18541constexpr auto __max_ull = __int_traits< unsigned long long> ::__max;
18542# 234
18543unsigned long long __low = __x & __max_ull;
18544# 235
18545return (_Nd - _Nd_ull) + __builtin_clzll(__low);
18546# 236
18547} } }
18548# 237
18549}
18550# 239
18551template< class _Tp> constexpr int
18552# 241
18553__countl_one(_Tp __x) noexcept
18554# 242
18555{
18556# 243
18557return std::__countl_zero< _Tp> ((_Tp)(~__x));
18558# 244
18559}
18560# 246
18561template< class _Tp> constexpr int
18562# 248
18563__countr_zero(_Tp __x) noexcept
18564# 249
18565{
18566# 250
18567using __gnu_cxx::__int_traits;
18568# 251
18569constexpr auto _Nd = (__int_traits< _Tp> ::__digits);
18570# 253
18571if (__x == 0) {
18572# 254
18573return _Nd; }
18574# 256
18575constexpr auto _Nd_ull = __int_traits< unsigned long long> ::__digits;
18576# 257
18577constexpr auto _Nd_ul = __int_traits< unsigned long> ::__digits;
18578# 258
18579constexpr auto _Nd_u = __int_traits< unsigned> ::__digits;
18580# 260
18581if constexpr (_Nd <= _Nd_u) {
18582# 261
18583return __builtin_ctz(__x); } else {
18584# 262
18585if constexpr (_Nd <= _Nd_ul) {
18586# 263
18587return __builtin_ctzl(__x); } else {
18588# 264
18589if constexpr (_Nd <= _Nd_ull) {
18590# 265
18591return __builtin_ctzll(__x); } else
18592# 267
18593{
18594# 268
18595static_assert((_Nd <= (2 * _Nd_ull)), "Maximum supported integer size is 128-bit");
18596# 271
18597constexpr auto __max_ull = __int_traits< unsigned long long> ::__max;
18598# 272
18599unsigned long long __low = __x & __max_ull;
18600# 273
18601if (__low != (0)) {
18602# 274
18603return __builtin_ctzll(__low); }
18604# 275
18605unsigned long long __high = __x >> _Nd_ull;
18606# 276
18607return __builtin_ctzll(__high) + _Nd_ull;
18608# 277
18609} } }
18610# 278
18611}
18612# 280
18613template< class _Tp> constexpr int
18614# 282
18615__countr_one(_Tp __x) noexcept
18616# 283
18617{
18618# 284
18619return std::__countr_zero((_Tp)(~__x));
18620# 285
18621}
18622# 287
18623template< class _Tp> constexpr int
18624# 289
18625__popcount(_Tp __x) noexcept
18626# 290
18627{
18628# 291
18629using __gnu_cxx::__int_traits;
18630# 292
18631constexpr auto _Nd = (__int_traits< _Tp> ::__digits);
18632# 294
18633constexpr auto _Nd_ull = __int_traits< unsigned long long> ::__digits;
18634# 295
18635constexpr auto _Nd_ul = __int_traits< unsigned long> ::__digits;
18636# 296
18637constexpr auto _Nd_u = __int_traits< unsigned> ::__digits;
18638# 298
18639if constexpr (_Nd <= _Nd_u) {
18640# 299
18641return __builtin_popcount(__x); } else {
18642# 300
18643if constexpr (_Nd <= _Nd_ul) {
18644# 301
18645return __builtin_popcountl(__x); } else {
18646# 302
18647if constexpr (_Nd <= _Nd_ull) {
18648# 303
18649return __builtin_popcountll(__x); } else
18650# 305
18651{
18652# 306
18653static_assert((_Nd <= (2 * _Nd_ull)), "Maximum supported integer size is 128-bit");
18654# 309
18655constexpr auto __max_ull = __int_traits< unsigned long long> ::__max;
18656# 310
18657unsigned long long __low = __x & __max_ull;
18658# 311
18659unsigned long long __high = __x >> _Nd_ull;
18660# 312
18661return __builtin_popcountll(__low) + __builtin_popcountll(__high);
18662# 313
18663} } }
18664# 314
18665}
18666# 316
18667template< class _Tp> constexpr bool
18668# 318
18669__has_single_bit(_Tp __x) noexcept
18670# 319
18671{ return std::__popcount(__x) == 1; }
18672# 321
18673template< class _Tp> constexpr _Tp
18674# 323
18675__bit_ceil(_Tp __x) noexcept
18676# 324
18677{
18678# 325
18679using __gnu_cxx::__int_traits;
18680# 326
18681constexpr auto _Nd = (__int_traits< _Tp> ::__digits);
18682# 327
18683if ((__x == 0) || (__x == 1)) {
18684# 328
18685return 1; }
18686# 329
18687auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1U));
18688# 334
18689if (!std::__is_constant_evaluated())
18690# 335
18691{
18692# 336
18693do { if (std::__is_constant_evaluated() && (!((bool)(__shift_exponent != __int_traits< _Tp> ::__digits)))) { __builtin_unreachable(); } } while (false);
18694# 337
18695}
18696# 339
18697using __promoted_type = __decltype((__x << 1));
18698# 340
18699if constexpr (!is_same< __decltype((__x << 1)), _Tp> ::value)
18700# 341
18701{
18702# 347
18703const int __extra_exp = ((sizeof(__promoted_type) / sizeof(_Tp)) / (2));
18704# 348
18705__shift_exponent |= ((__shift_exponent & _Nd) << __extra_exp);
18706# 349
18707}
18708# 350
18709return ((_Tp)1U) << __shift_exponent;
18710# 351
18711}
18712# 353
18713template< class _Tp> constexpr _Tp
18714# 355
18715__bit_floor(_Tp __x) noexcept
18716# 356
18717{
18718# 357
18719constexpr auto _Nd = (__gnu_cxx::__int_traits< _Tp> ::__digits);
18720# 358
18721if (__x == 0) {
18722# 359
18723return 0; }
18724# 360
18725return ((_Tp)1U) << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
18726# 361
18727}
18728# 363
18729template< class _Tp> constexpr int
18730# 365
18731__bit_width(_Tp __x) noexcept
18732# 366
18733{
18734# 367
18735constexpr auto _Nd = (__gnu_cxx::__int_traits< _Tp> ::__digits);
18736# 368
18737return _Nd - std::__countl_zero(__x);
18738# 369
18739}
18740# 479 "/usr/include/c++/13/bit" 3
18741}
18742# 82 "/usr/include/c++/13/bits/stl_algobase.h" 3
18743namespace std __attribute((__visibility__("default"))) {
18744# 90
18745template< class _Tp, class _Up> constexpr int
18746# 93
18747__memcmp(const _Tp *__first1, const _Up *__first2, size_t __num)
18748# 94
18749{
18750# 96
18751static_assert((sizeof(_Tp) == sizeof(_Up)), "can be compared with memcmp");
18752# 108 "/usr/include/c++/13/bits/stl_algobase.h" 3
18753return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
18754# 109
18755}
18756# 152 "/usr/include/c++/13/bits/stl_algobase.h" 3
18757template< class _ForwardIterator1, class _ForwardIterator2> inline void
18758# 155
18759iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
18760# 156
18761{
18762# 185 "/usr/include/c++/13/bits/stl_algobase.h" 3
18763swap(*__a, *__b);
18764# 187
18765}
18766# 201 "/usr/include/c++/13/bits/stl_algobase.h" 3
18767template< class _ForwardIterator1, class _ForwardIterator2> _ForwardIterator2
18768# 204
18769swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2
18770# 205
18771__first2)
18772# 206
18773{
18774# 212
18775;
18776# 214
18777for (; __first1 != __last1; (++__first1), ((void)(++__first2))) {
18778# 215
18779std::iter_swap(__first1, __first2); }
18780# 216
18781return __first2;
18782# 217
18783}
18784# 230 "/usr/include/c++/13/bits/stl_algobase.h" 3
18785template< class _Tp> constexpr const _Tp &
18786# 233
18787min(const _Tp &__a, const _Tp &__b)
18788# 234
18789{
18790# 238
18791if (__b < __a) {
18792# 239
18793return __b; }
18794# 240
18795return __a;
18796# 241
18797}
18798# 254 "/usr/include/c++/13/bits/stl_algobase.h" 3
18799template< class _Tp> constexpr const _Tp &
18800# 257
18801max(const _Tp &__a, const _Tp &__b)
18802# 258
18803{
18804# 262
18805if (__a < __b) {
18806# 263
18807return __b; }
18808# 264
18809return __a;
18810# 265
18811}
18812# 278 "/usr/include/c++/13/bits/stl_algobase.h" 3
18813template< class _Tp, class _Compare> constexpr const _Tp &
18814# 281
18815min(const _Tp &__a, const _Tp &__b, _Compare __comp)
18816# 282
18817{
18818# 284
18819if (__comp(__b, __a)) {
18820# 285
18821return __b; }
18822# 286
18823return __a;
18824# 287
18825}
18826# 300 "/usr/include/c++/13/bits/stl_algobase.h" 3
18827template< class _Tp, class _Compare> constexpr const _Tp &
18828# 303
18829max(const _Tp &__a, const _Tp &__b, _Compare __comp)
18830# 304
18831{
18832# 306
18833if (__comp(__a, __b)) {
18834# 307
18835return __b; }
18836# 308
18837return __a;
18838# 309
18839}
18840# 313
18841template< class _Iterator> inline _Iterator
18842# 316
18843__niter_base(_Iterator __it) noexcept(std::template is_nothrow_copy_constructible< _Iterator> ::value)
18844# 318
18845{ return __it; }
18846# 320
18847template< class _Ite, class _Seq> _Ite __niter_base(const __gnu_debug::_Safe_iterator< _Ite, _Seq, random_access_iterator_tag> &);
18848# 328
18849template< class _From, class _To> inline _From
18850# 331
18851__niter_wrap(_From __from, _To __res)
18852# 332
18853{ return __from + (__res - std::__niter_base(__from)); }
18854# 335
18855template< class _Iterator> inline _Iterator
18856# 338
18857__niter_wrap(const _Iterator &, _Iterator __res)
18858# 339
18859{ return __res; }
18860# 347
18861template< bool _IsMove, bool _IsSimple, class _Category>
18862# 348
18863struct __copy_move {
18864# 350
18865template< class _II, class _OI> static _OI
18866# 353
18867__copy_m(_II __first, _II __last, _OI __result)
18868# 354
18869{
18870# 355
18871for (; __first != __last; (++__result), ((void)(++__first))) {
18872# 356
18873(*__result) = (*__first); }
18874# 357
18875return __result;
18876# 358
18877}
18878# 359
18879};
18880# 362
18881template< class _Category>
18882# 363
18883struct __copy_move< true, false, _Category> {
18884# 365
18885template< class _II, class _OI> static _OI
18886# 368
18887__copy_m(_II __first, _II __last, _OI __result)
18888# 369
18889{
18890# 370
18891for (; __first != __last; (++__result), ((void)(++__first))) {
18892# 371
18893(*__result) = std::move(*__first); }
18894# 372
18895return __result;
18896# 373
18897}
18898# 374
18899};
18900# 378
18901template<> struct __copy_move< false, false, random_access_iterator_tag> {
18902# 380
18903template< class _II, class _OI> static _OI
18904# 383
18905__copy_m(_II __first, _II __last, _OI __result)
18906# 384
18907{
18908# 385
18909typedef typename iterator_traits< _II> ::difference_type _Distance;
18910# 386
18911for (_Distance __n = __last - __first; __n > 0; --__n)
18912# 387
18913{
18914# 388
18915(*__result) = (*__first);
18916# 389
18917++__first;
18918# 390
18919++__result;
18920# 391
18921}
18922# 392
18923return __result;
18924# 393
18925}
18926# 395
18927template< class _Tp, class _Up> static void
18928# 397
18929__assign_one(_Tp *__to, _Up *__from)
18930# 398
18931{ (*__to) = (*__from); }
18932# 399
18933};
18934# 403
18935template<> struct __copy_move< true, false, random_access_iterator_tag> {
18936# 405
18937template< class _II, class _OI> static _OI
18938# 408
18939__copy_m(_II __first, _II __last, _OI __result)
18940# 409
18941{
18942# 410
18943typedef typename iterator_traits< _II> ::difference_type _Distance;
18944# 411
18945for (_Distance __n = __last - __first; __n > 0; --__n)
18946# 412
18947{
18948# 413
18949(*__result) = std::move(*__first);
18950# 414
18951++__first;
18952# 415
18953++__result;
18954# 416
18955}
18956# 417
18957return __result;
18958# 418
18959}
18960# 420
18961template< class _Tp, class _Up> static void
18962# 422
18963__assign_one(_Tp *__to, _Up *__from)
18964# 423
18965{ (*__to) = std::move(*__from); }
18966# 424
18967};
18968# 427
18969template< bool _IsMove>
18970# 428
18971struct __copy_move< _IsMove, true, random_access_iterator_tag> {
18972# 430
18973template< class _Tp, class _Up> static _Up *
18974# 433
18975__copy_m(_Tp *__first, _Tp *__last, _Up *__result)
18976# 434
18977{
18978# 435
18979const ptrdiff_t _Num = __last - __first;
18980# 436
18981if (__builtin_expect(_Num > (1), true)) {
18982# 437
18983__builtin_memmove(__result, __first, sizeof(_Tp) * _Num); } else {
18984# 438
18985if (_Num == (1)) {
18986# 439
18987std::template __copy_move< _IsMove, false, random_access_iterator_tag> ::__assign_one(__result, __first); } }
18988# 441
18989return __result + _Num;
18990# 442
18991}
18992# 443
18993};
18994# 447
18995template< class _Tp, class _Ref, class _Ptr> struct _Deque_iterator;
18996# 450
18997struct _Bit_iterator;
18998# 457
18999template< class _CharT> struct char_traits;
19000# 460
19001template< class _CharT, class _Traits> class istreambuf_iterator;
19002# 463
19003template< class _CharT, class _Traits> class ostreambuf_iterator;
19004# 466
19005template< bool _IsMove, class _CharT> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, ostreambuf_iterator< _CharT, char_traits< _CharT> > > ::__type __copy_move_a2(_CharT *, _CharT *, ostreambuf_iterator< _CharT, char_traits< _CharT> > );
19006# 472
19007template< bool _IsMove, class _CharT> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, ostreambuf_iterator< _CharT, char_traits< _CharT> > > ::__type __copy_move_a2(const _CharT *, const _CharT *, ostreambuf_iterator< _CharT, char_traits< _CharT> > );
19008# 478
19009template< bool _IsMove, class _CharT> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, _CharT *> ::__type __copy_move_a2(istreambuf_iterator< _CharT, char_traits< _CharT> > , istreambuf_iterator< _CharT, char_traits< _CharT> > , _CharT *);
19010# 484
19011template< bool _IsMove, class _CharT> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, _Deque_iterator< _CharT, _CharT &, _CharT *> > ::__type __copy_move_a2(istreambuf_iterator< _CharT, char_traits< _CharT> > , istreambuf_iterator< _CharT, char_traits< _CharT> > , _Deque_iterator< _CharT, _CharT &, _CharT *> );
19012# 494
19013template< bool _IsMove, class _II, class _OI> inline _OI
19014# 497
19015__copy_move_a2(_II __first, _II __last, _OI __result)
19016# 498
19017{
19018# 499
19019typedef typename iterator_traits< _II> ::iterator_category _Category;
19020# 505
19021return std::template __copy_move< _IsMove, __memcpyable< _OI, _II> ::__value, typename iterator_traits< _II> ::iterator_category> ::__copy_m(__first, __last, __result);
19022# 507
19023}
19024# 509
19025template< bool _IsMove, class
19026# 510
19027_Tp, class _Ref, class _Ptr, class _OI> _OI
19028# 509
19029__copy_move_a1(_Deque_iterator< _Tp, _Ref, _Ptr> , _Deque_iterator< _Tp, _Ref, _Ptr> , _OI);
19030# 516
19031template< bool _IsMove, class
19032# 517
19033_ITp, class _IRef, class _IPtr, class _OTp> _Deque_iterator< _OTp, _OTp &, _OTp *>
19034# 516
19035__copy_move_a1(_Deque_iterator< _ITp, _IRef, _IPtr> , _Deque_iterator< _ITp, _IRef, _IPtr> , _Deque_iterator< _OTp, _OTp &, _OTp *> );
19036# 523
19037template< bool _IsMove, class _II, class _Tp> typename __gnu_cxx::__enable_if< __is_random_access_iter< _II> ::__value, _Deque_iterator< _Tp, _Tp &, _Tp *> > ::__type __copy_move_a1(_II, _II, _Deque_iterator< _Tp, _Tp &, _Tp *> );
19038# 529
19039template< bool _IsMove, class _II, class _OI> inline _OI
19040# 532
19041__copy_move_a1(_II __first, _II __last, _OI __result)
19042# 533
19043{ return std::__copy_move_a2< _IsMove> (__first, __last, __result); }
19044# 535
19045template< bool _IsMove, class _II, class _OI> inline _OI
19046# 538
19047__copy_move_a(_II __first, _II __last, _OI __result)
19048# 539
19049{
19050# 540
19051return std::__niter_wrap(__result, std::__copy_move_a1< _IsMove> (std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result)));
19052# 544
19053}
19054# 546
19055template< bool _IsMove, class
19056# 547
19057_Ite, class _Seq, class _Cat, class _OI> _OI
19058# 546
19059__copy_move_a(const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, _OI);
19060# 553
19061template< bool _IsMove, class
19062# 554
19063_II, class _Ite, class _Seq, class _Cat> __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat>
19064# 553
19065__copy_move_a(_II, _II, const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &);
19066# 559
19067template< bool _IsMove, class
19068# 560
19069_IIte, class _ISeq, class _ICat, class
19070# 561
19071_OIte, class _OSeq, class _OCat> __gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat>
19072# 559
19073__copy_move_a(const __gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat> &, const __gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat> &, const __gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat> &);
19074# 567
19075template< class _InputIterator, class _Size, class _OutputIterator> _OutputIterator
19076# 570
19077__copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result, bool)
19078# 572
19079{
19080# 573
19081if (__n > 0)
19082# 574
19083{
19084# 575
19085while (true)
19086# 576
19087{
19088# 577
19089(*__result) = (*__first);
19090# 578
19091++__result;
19092# 579
19093if ((--__n) > 0) {
19094# 580
19095++__first; } else {
19096# 582
19097break; }
19098# 583
19099}
19100# 584
19101}
19102# 585
19103return __result;
19104# 586
19105}
19106# 589
19107template< class _CharT, class _Size> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, _CharT *> ::__type __copy_n_a(istreambuf_iterator< _CharT, char_traits< _CharT> > , _Size, _CharT *, bool);
19108# 595
19109template< class _CharT, class _Size> typename __gnu_cxx::__enable_if< __is_char< _CharT> ::__value, _Deque_iterator< _CharT, _CharT &, _CharT *> > ::__type __copy_n_a(istreambuf_iterator< _CharT, char_traits< _CharT> > , _Size, _Deque_iterator< _CharT, _CharT &, _CharT *> , bool);
19110# 621 "/usr/include/c++/13/bits/stl_algobase.h" 3
19111template< class _II, class _OI> inline _OI
19112# 624
19113copy(_II __first, _II __last, _OI __result)
19114# 625
19115{
19116# 630
19117;
19118# 632
19119return std::__copy_move_a< __is_move_iterator< _II> ::__value> (std::__miter_base(__first), std::__miter_base(__last), __result);
19120# 634
19121}
19122# 654 "/usr/include/c++/13/bits/stl_algobase.h" 3
19123template< class _II, class _OI> inline _OI
19124# 657
19125move(_II __first, _II __last, _OI __result)
19126# 658
19127{
19128# 663
19129;
19130# 665
19131return std::__copy_move_a< true> (std::__miter_base(__first), std::__miter_base(__last), __result);
19132# 667
19133}
19134# 674
19135template< bool _IsMove, bool _IsSimple, class _Category>
19136# 675
19137struct __copy_move_backward {
19138# 677
19139template< class _BI1, class _BI2> static _BI2
19140# 680
19141__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
19142# 681
19143{
19144# 682
19145while (__first != __last) {
19146# 683
19147(*(--__result)) = (*(--__last)); }
19148# 684
19149return __result;
19150# 685
19151}
19152# 686
19153};
19154# 689
19155template< class _Category>
19156# 690
19157struct __copy_move_backward< true, false, _Category> {
19158# 692
19159template< class _BI1, class _BI2> static _BI2
19160# 695
19161__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
19162# 696
19163{
19164# 697
19165while (__first != __last) {
19166# 698
19167(*(--__result)) = std::move(*(--__last)); }
19168# 699
19169return __result;
19170# 700
19171}
19172# 701
19173};
19174# 705
19175template<> struct __copy_move_backward< false, false, random_access_iterator_tag> {
19176# 707
19177template< class _BI1, class _BI2> static _BI2
19178# 710
19179__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
19180# 711
19181{
19182# 713
19183typename iterator_traits< _BI1> ::difference_type __n = __last - __first;
19184# 714
19185for (; __n > 0; --__n) {
19186# 715
19187(*(--__result)) = (*(--__last)); }
19188# 716
19189return __result;
19190# 717
19191}
19192# 718
19193};
19194# 722
19195template<> struct __copy_move_backward< true, false, random_access_iterator_tag> {
19196# 724
19197template< class _BI1, class _BI2> static _BI2
19198# 727
19199__copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
19200# 728
19201{
19202# 730
19203typename iterator_traits< _BI1> ::difference_type __n = __last - __first;
19204# 731
19205for (; __n > 0; --__n) {
19206# 732
19207(*(--__result)) = std::move(*(--__last)); }
19208# 733
19209return __result;
19210# 734
19211}
19212# 735
19213};
19214# 738
19215template< bool _IsMove>
19216# 739
19217struct __copy_move_backward< _IsMove, true, random_access_iterator_tag> {
19218# 741
19219template< class _Tp, class _Up> static _Up *
19220# 744
19221__copy_move_b(_Tp *__first, _Tp *__last, _Up *__result)
19222# 745
19223{
19224# 746
19225const ptrdiff_t _Num = __last - __first;
19226# 747
19227if (__builtin_expect(_Num > (1), true)) {
19228# 748
19229__builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); } else {
19230# 749
19231if (_Num == (1)) {
19232# 750
19233std::template __copy_move< _IsMove, false, random_access_iterator_tag> ::__assign_one(__result - 1, __first); } }
19234# 752
19235return __result - _Num;
19236# 753
19237}
19238# 754
19239};
19240# 756
19241template< bool _IsMove, class _BI1, class _BI2> inline _BI2
19242# 759
19243__copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
19244# 760
19245{
19246# 761
19247typedef typename iterator_traits< _BI1> ::iterator_category _Category;
19248# 767
19249return std::template __copy_move_backward< _IsMove, __memcpyable< _BI2, _BI1> ::__value, typename iterator_traits< _BI1> ::iterator_category> ::__copy_move_b(__first, __last, __result);
19250# 772
19251}
19252# 774
19253template< bool _IsMove, class _BI1, class _BI2> inline _BI2
19254# 777
19255__copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
19256# 778
19257{ return std::__copy_move_backward_a2< _IsMove> (__first, __last, __result); }
19258# 780
19259template< bool _IsMove, class
19260# 781
19261_Tp, class _Ref, class _Ptr, class _OI> _OI
19262# 780
19263__copy_move_backward_a1(_Deque_iterator< _Tp, _Ref, _Ptr> , _Deque_iterator< _Tp, _Ref, _Ptr> , _OI);
19264# 787
19265template< bool _IsMove, class
19266# 788
19267_ITp, class _IRef, class _IPtr, class _OTp> _Deque_iterator< _OTp, _OTp &, _OTp *>
19268# 787
19269__copy_move_backward_a1(_Deque_iterator< _ITp, _IRef, _IPtr> , _Deque_iterator< _ITp, _IRef, _IPtr> , _Deque_iterator< _OTp, _OTp &, _OTp *> );
19270# 795
19271template< bool _IsMove, class _II, class _Tp> typename __gnu_cxx::__enable_if< __is_random_access_iter< _II> ::__value, _Deque_iterator< _Tp, _Tp &, _Tp *> > ::__type __copy_move_backward_a1(_II, _II, _Deque_iterator< _Tp, _Tp &, _Tp *> );
19272# 802
19273template< bool _IsMove, class _II, class _OI> inline _OI
19274# 805
19275__copy_move_backward_a(_II __first, _II __last, _OI __result)
19276# 806
19277{
19278# 807
19279return std::__niter_wrap(__result, std::__copy_move_backward_a1< _IsMove> (std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result)));
19280# 811
19281}
19282# 813
19283template< bool _IsMove, class
19284# 814
19285_Ite, class _Seq, class _Cat, class _OI> _OI
19286# 813
19287__copy_move_backward_a(const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, _OI);
19288# 821
19289template< bool _IsMove, class
19290# 822
19291_II, class _Ite, class _Seq, class _Cat> __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat>
19292# 821
19293__copy_move_backward_a(_II, _II, const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &);
19294# 827
19295template< bool _IsMove, class
19296# 828
19297_IIte, class _ISeq, class _ICat, class
19298# 829
19299_OIte, class _OSeq, class _OCat> __gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat>
19300# 827
19301__copy_move_backward_a(const __gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat> &, const __gnu_debug::_Safe_iterator< _IIte, _ISeq, _ICat> &, const __gnu_debug::_Safe_iterator< _OIte, _OSeq, _OCat> &);
19302# 854 "/usr/include/c++/13/bits/stl_algobase.h" 3
19303template< class _BI1, class _BI2> inline _BI2
19304# 857
19305copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
19306# 858
19307{
19308# 864
19309;
19310# 866
19311return std::__copy_move_backward_a< __is_move_iterator< _BI1> ::__value> (std::__miter_base(__first), std::__miter_base(__last), __result);
19312# 868
19313}
19314# 889 "/usr/include/c++/13/bits/stl_algobase.h" 3
19315template< class _BI1, class _BI2> inline _BI2
19316# 892
19317move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
19318# 893
19319{
19320# 899
19321;
19322# 901
19323return std::__copy_move_backward_a< true> (std::__miter_base(__first), std::__miter_base(__last), __result);
19324# 904
19325}
19326# 911
19327template< class _ForwardIterator, class _Tp> inline typename __gnu_cxx::__enable_if< !__is_scalar< _Tp> ::__value, void> ::__type
19328# 915
19329__fill_a1(_ForwardIterator __first, _ForwardIterator __last, const _Tp &
19330# 916
19331__value)
19332# 917
19333{
19334# 918
19335for (; __first != __last; ++__first) {
19336# 919
19337(*__first) = __value; }
19338# 920
19339}
19340# 922
19341template< class _ForwardIterator, class _Tp> inline typename __gnu_cxx::__enable_if< __is_scalar< _Tp> ::__value, void> ::__type
19342# 926
19343__fill_a1(_ForwardIterator __first, _ForwardIterator __last, const _Tp &
19344# 927
19345__value)
19346# 928
19347{
19348# 929
19349const _Tp __tmp = __value;
19350# 930
19351for (; __first != __last; ++__first) {
19352# 931
19353(*__first) = __tmp; }
19354# 932
19355}
19356# 935
19357template< class _Tp> inline typename __gnu_cxx::__enable_if< __is_byte< _Tp> ::__value, void> ::__type
19358# 939
19359__fill_a1(_Tp *__first, _Tp *__last, const _Tp &__c)
19360# 940
19361{
19362# 941
19363const _Tp __tmp = __c;
19364# 950 "/usr/include/c++/13/bits/stl_algobase.h" 3
19365if (const size_t __len = __last - __first) {
19366# 951
19367__builtin_memset(__first, static_cast< unsigned char>(__tmp), __len); }
19368# 952
19369}
19370# 954
19371template< class _Ite, class _Cont, class _Tp> inline void
19372# 957
19373__fill_a1(__gnu_cxx::__normal_iterator< _Ite, _Cont> __first, __gnu_cxx::__normal_iterator< _Ite, _Cont>
19374# 958
19375__last, const _Tp &
19376# 959
19377__value)
19378# 960
19379{ std::__fill_a1(__first.base(), __last.base(), __value); }
19380# 962
19381template< class _Tp, class _VTp> void __fill_a1(const _Deque_iterator< _Tp, _Tp &, _Tp *> &, const _Deque_iterator< _Tp, _Tp &, _Tp *> &, const _VTp &);
19382# 970
19383void __fill_a1(_Bit_iterator, _Bit_iterator, const bool &);
19384# 973
19385template< class _FIte, class _Tp> inline void
19386# 976
19387__fill_a(_FIte __first, _FIte __last, const _Tp &__value)
19388# 977
19389{ std::__fill_a1(__first, __last, __value); }
19390# 979
19391template< class _Ite, class _Seq, class _Cat, class _Tp> void __fill_a(const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> &, const _Tp &);
19392# 997 "/usr/include/c++/13/bits/stl_algobase.h" 3
19393template< class _ForwardIterator, class _Tp> inline void
19394# 1000
19395fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)
19396# 1001
19397{
19398# 1005
19399;
19400# 1007
19401std::__fill_a(__first, __last, __value);
19402# 1008
19403}
19404# 1012
19405constexpr int __size_to_integer(int __n) { return __n; }
19406# 1014
19407constexpr unsigned __size_to_integer(unsigned __n) { return __n; }
19408# 1016
19409constexpr long __size_to_integer(long __n) { return __n; }
19410# 1018
19411constexpr unsigned long __size_to_integer(unsigned long __n) { return __n; }
19412# 1020
19413constexpr long long __size_to_integer(long long __n) { return __n; }
19414# 1022
19415constexpr unsigned long long __size_to_integer(unsigned long long __n) { return __n; }
19416# 1026
19417__extension__ constexpr __int128 __size_to_integer(__int128 __n) { return __n; }
19418# 1028
19419__extension__ constexpr unsigned __int128 __size_to_integer(unsigned __int128 __n) { return __n; }
19420# 1050 "/usr/include/c++/13/bits/stl_algobase.h" 3
19421constexpr long long __size_to_integer(float __n) { return (long long)__n; }
19422# 1052
19423constexpr long long __size_to_integer(double __n) { return (long long)__n; }
19424# 1054
19425constexpr long long __size_to_integer(long double __n) { return (long long)__n; }
19426# 1060
19427template< class _OutputIterator, class _Size, class _Tp> inline typename __gnu_cxx::__enable_if< !__is_scalar< _Tp> ::__value, _OutputIterator> ::__type
19428# 1064
19429__fill_n_a1(_OutputIterator __first, _Size __n, const _Tp &__value)
19430# 1065
19431{
19432# 1066
19433for (; __n > 0; (--__n), ((void)(++__first))) {
19434# 1067
19435(*__first) = __value; }
19436# 1068
19437return __first;
19438# 1069
19439}
19440# 1071
19441template< class _OutputIterator, class _Size, class _Tp> inline typename __gnu_cxx::__enable_if< __is_scalar< _Tp> ::__value, _OutputIterator> ::__type
19442# 1075
19443__fill_n_a1(_OutputIterator __first, _Size __n, const _Tp &__value)
19444# 1076
19445{
19446# 1077
19447const _Tp __tmp = __value;
19448# 1078
19449for (; __n > 0; (--__n), ((void)(++__first))) {
19450# 1079
19451(*__first) = __tmp; }
19452# 1080
19453return __first;
19454# 1081
19455}
19456# 1083
19457template< class _Ite, class _Seq, class _Cat, class _Size, class
19458# 1084
19459_Tp> __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat>
19460# 1083
19461__fill_n_a(const __gnu_debug::_Safe_iterator< _Ite, _Seq, _Cat> & __first, _Size __n, const _Tp & __value, input_iterator_tag);
19462# 1090
19463template< class _OutputIterator, class _Size, class _Tp> inline _OutputIterator
19464# 1093
19465__fill_n_a(_OutputIterator __first, _Size __n, const _Tp &__value, output_iterator_tag)
19466# 1095
19467{
19468# 1097
19469static_assert((is_integral< _Size> {}), "fill_n must pass integral size");
19470# 1099
19471return __fill_n_a1(__first, __n, __value);
19472# 1100
19473}
19474# 1102
19475template< class _OutputIterator, class _Size, class _Tp> inline _OutputIterator
19476# 1105
19477__fill_n_a(_OutputIterator __first, _Size __n, const _Tp &__value, input_iterator_tag)
19478# 1107
19479{
19480# 1109
19481static_assert((is_integral< _Size> {}), "fill_n must pass integral size");
19482# 1111
19483return __fill_n_a1(__first, __n, __value);
19484# 1112
19485}
19486# 1114
19487template< class _OutputIterator, class _Size, class _Tp> inline _OutputIterator
19488# 1117
19489__fill_n_a(_OutputIterator __first, _Size __n, const _Tp &__value, random_access_iterator_tag)
19490# 1119
19491{
19492# 1121
19493static_assert((is_integral< _Size> {}), "fill_n must pass integral size");
19494# 1123
19495if (__n <= 0) {
19496# 1124
19497return __first; }
19498# 1126
19499;
19500# 1128
19501std::__fill_a(__first, __first + __n, __value);
19502# 1129
19503return __first + __n;
19504# 1130
19505}
19506# 1149 "/usr/include/c++/13/bits/stl_algobase.h" 3
19507template< class _OI, class _Size, class _Tp> inline _OI
19508# 1152
19509fill_n(_OI __first, _Size __n, const _Tp &__value)
19510# 1153
19511{
19512# 1157
19513return std::__fill_n_a(__first, std::__size_to_integer(__n), __value, std::__iterator_category(__first));
19514# 1159
19515}
19516# 1161
19517template< bool _BoolType>
19518# 1162
19519struct __equal {
19520# 1164
19521template< class _II1, class _II2> static bool
19522# 1167
19523equal(_II1 __first1, _II1 __last1, _II2 __first2)
19524# 1168
19525{
19526# 1169
19527for (; __first1 != __last1; (++__first1), ((void)(++__first2))) {
19528# 1170
19529if (!((*__first1) == (*__first2))) {
19530# 1171
19531return false; } }
19532# 1172
19533return true;
19534# 1173
19535}
19536# 1174
19537};
19538# 1177
19539template<> struct __equal< true> {
19540# 1179
19541template< class _Tp> static bool
19542# 1182
19543equal(const _Tp *__first1, const _Tp *__last1, const _Tp *__first2)
19544# 1183
19545{
19546# 1184
19547if (const size_t __len = __last1 - __first1) {
19548# 1185
19549return !std::__memcmp(__first1, __first2, __len); }
19550# 1186
19551return true;
19552# 1187
19553}
19554# 1188
19555};
19556# 1190
19557template< class _Tp, class _Ref, class _Ptr, class _II> typename __gnu_cxx::__enable_if< __is_random_access_iter< _II> ::__value, bool> ::__type __equal_aux1(_Deque_iterator< _Tp, _Ref, _Ptr> , _Deque_iterator< _Tp, _Ref, _Ptr> , _II);
19558# 1197
19559template< class _Tp1, class _Ref1, class _Ptr1, class
19560# 1198
19561_Tp2, class _Ref2, class _Ptr2> bool
19562# 1197
19563__equal_aux1(_Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Deque_iterator< _Tp2, _Ref2, _Ptr2> );
19564# 1204
19565template< class _II, class _Tp, class _Ref, class _Ptr> typename __gnu_cxx::__enable_if< __is_random_access_iter< _II> ::__value, bool> ::__type __equal_aux1(_II, _II, _Deque_iterator< _Tp, _Ref, _Ptr> );
19566# 1210
19567template< class _II1, class _II2> inline bool
19568# 1213
19569__equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
19570# 1214
19571{
19572# 1215
19573typedef typename iterator_traits< _II1> ::value_type _ValueType1;
19574# 1216
19575const bool __simple = ((__is_integer< typename iterator_traits< _II1> ::value_type> ::__value || __is_pointer< typename iterator_traits< _II1> ::value_type> ::__value) && __memcmpable< _II1, _II2> ::__value);
19576# 1219
19577return std::template __equal< __simple> ::equal(__first1, __last1, __first2);
19578# 1220
19579}
19580# 1222
19581template< class _II1, class _II2> inline bool
19582# 1225
19583__equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
19584# 1226
19585{
19586# 1227
19587return std::__equal_aux1(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2));
19588# 1230
19589}
19590# 1232
19591template< class _II1, class _Seq1, class _Cat1, class _II2> bool __equal_aux(const __gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1> &, _II2);
19592# 1238
19593template< class _II1, class _II2, class _Seq2, class _Cat2> bool __equal_aux(_II1, _II1, const __gnu_debug::_Safe_iterator< _II2, _Seq2, _Cat2> &);
19594# 1243
19595template< class _II1, class _Seq1, class _Cat1, class
19596# 1244
19597_II2, class _Seq2, class _Cat2> bool
19598# 1243
19599__equal_aux(const __gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _II1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _II2, _Seq2, _Cat2> &);
19600# 1250
19601template< class , class >
19602# 1251
19603struct __lc_rai {
19604# 1253
19605template< class _II1, class _II2> static _II1
19606# 1256
19607__newlast1(_II1, _II1 __last1, _II2, _II2)
19608# 1257
19609{ return __last1; }
19610# 1259
19611template< class _II> static bool
19612# 1262
19613__cnd2(_II __first, _II __last)
19614# 1263
19615{ return __first != __last; }
19616# 1264
19617};
19618# 1267
19619template<> struct __lc_rai< random_access_iterator_tag, random_access_iterator_tag> {
19620# 1269
19621template< class _RAI1, class _RAI2> static _RAI1
19622# 1272
19623__newlast1(_RAI1 __first1, _RAI1 __last1, _RAI2
19624# 1273
19625__first2, _RAI2 __last2)
19626# 1274
19627{
19628# 1276
19629const typename iterator_traits< _RAI1> ::difference_type __diff1 = __last1 - __first1;
19630# 1278
19631const typename iterator_traits< _RAI2> ::difference_type __diff2 = __last2 - __first2;
19632# 1279
19633return (__diff2 < __diff1) ? __first1 + __diff2 : __last1;
19634# 1280
19635}
19636# 1282
19637template< class _RAI> static bool
19638# 1284
19639__cnd2(_RAI, _RAI)
19640# 1285
19641{ return true; }
19642# 1286
19643};
19644# 1288
19645template< class _II1, class _II2, class _Compare> bool
19646# 1291
19647__lexicographical_compare_impl(_II1 __first1, _II1 __last1, _II2
19648# 1292
19649__first2, _II2 __last2, _Compare
19650# 1293
19651__comp)
19652# 1294
19653{
19654# 1295
19655typedef typename iterator_traits< _II1> ::iterator_category _Category1;
19656# 1296
19657typedef typename iterator_traits< _II2> ::iterator_category _Category2;
19658# 1297
19659typedef __lc_rai< typename iterator_traits< _II1> ::iterator_category, typename iterator_traits< _II2> ::iterator_category> __rai_type;
19660# 1299
19661__last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
19662# 1300
19663for (; (__first1 != __last1) && __rai_type::__cnd2(__first2, __last2); (++__first1), ((void)(++__first2)))
19664# 1302
19665{
19666# 1303
19667if (__comp(__first1, __first2)) {
19668# 1304
19669return true; }
19670# 1305
19671if (__comp(__first2, __first1)) {
19672# 1306
19673return false; }
19674# 1307
19675}
19676# 1308
19677return (__first1 == __last1) && (__first2 != __last2);
19678# 1309
19679}
19680# 1311
19681template< bool _BoolType>
19682# 1312
19683struct __lexicographical_compare {
19684# 1314
19685template< class _II1, class _II2> static bool
19686# 1317
19687__lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
19688# 1318
19689{
19690# 1319
19691using __gnu_cxx::__ops::__iter_less_iter;
19692# 1320
19693return std::__lexicographical_compare_impl(__first1, __last1, __first2, __last2, __iter_less_iter());
19694# 1323
19695}
19696# 1325
19697template< class _II1, class _II2> static int
19698# 1328
19699__3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
19700# 1329
19701{
19702# 1330
19703while (__first1 != __last1)
19704# 1331
19705{
19706# 1332
19707if (__first2 == __last2) {
19708# 1333
19709return +1; }
19710# 1334
19711if ((*__first1) < (*__first2)) {
19712# 1335
19713return -1; }
19714# 1336
19715if ((*__first2) < (*__first1)) {
19716# 1337
19717return +1; }
19718# 1338
19719++__first1;
19720# 1339
19721++__first2;
19722# 1340
19723}
19724# 1341
19725return ((int)(__first2 == __last2)) - 1;
19726# 1342
19727}
19728# 1343
19729};
19730# 1346
19731template<> struct __lexicographical_compare< true> {
19732# 1348
19733template< class _Tp, class _Up> static bool
19734# 1351
19735__lc(const _Tp *__first1, const _Tp *__last1, const _Up *
19736# 1352
19737__first2, const _Up *__last2)
19738# 1353
19739{ return __3way(__first1, __last1, __first2, __last2) < 0; }
19740# 1355
19741template< class _Tp, class _Up> static ptrdiff_t
19742# 1358
19743__3way(const _Tp *__first1, const _Tp *__last1, const _Up *
19744# 1359
19745__first2, const _Up *__last2)
19746# 1360
19747{
19748# 1361
19749const size_t __len1 = __last1 - __first1;
19750# 1362
19751const size_t __len2 = __last2 - __first2;
19752# 1363
19753if (const size_t __len = std::min(__len1, __len2)) {
19754# 1364
19755if (int __result = std::__memcmp(__first1, __first2, __len)) {
19756# 1365
19757return __result; } }
19758# 1366
19759return (ptrdiff_t)(__len1 - __len2);
19760# 1367
19761}
19762# 1368
19763};
19764# 1370
19765template< class _II1, class _II2> inline bool
19766# 1373
19767__lexicographical_compare_aux1(_II1 __first1, _II1 __last1, _II2
19768# 1374
19769__first2, _II2 __last2)
19770# 1375
19771{
19772# 1376
19773typedef typename iterator_traits< _II1> ::value_type _ValueType1;
19774# 1377
19775typedef typename iterator_traits< _II2> ::value_type _ValueType2;
19776# 1378
19777const bool __simple = (__is_memcmp_ordered_with< typename iterator_traits< _II1> ::value_type, typename iterator_traits< _II2> ::value_type> ::__value && __is_pointer< _II1> ::__value && __is_pointer< _II2> ::__value);
19778# 1391
19779return std::template __lexicographical_compare< __simple> ::__lc(__first1, __last1, __first2, __last2);
19780# 1393
19781}
19782# 1395
19783template< class _Tp1, class _Ref1, class _Ptr1, class
19784# 1396
19785_Tp2> bool
19786# 1395
19787__lexicographical_compare_aux1(_Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Tp2 *, _Tp2 *);
19788# 1403
19789template< class _Tp1, class
19790# 1404
19791_Tp2, class _Ref2, class _Ptr2> bool
19792# 1403
19793__lexicographical_compare_aux1(_Tp1 *, _Tp1 *, _Deque_iterator< _Tp2, _Ref2, _Ptr2> , _Deque_iterator< _Tp2, _Ref2, _Ptr2> );
19794# 1410
19795template< class _Tp1, class _Ref1, class _Ptr1, class
19796# 1411
19797_Tp2, class _Ref2, class _Ptr2> bool
19798# 1410
19799__lexicographical_compare_aux1(_Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Deque_iterator< _Tp1, _Ref1, _Ptr1> , _Deque_iterator< _Tp2, _Ref2, _Ptr2> , _Deque_iterator< _Tp2, _Ref2, _Ptr2> );
19800# 1419
19801template< class _II1, class _II2> inline bool
19802# 1422
19803__lexicographical_compare_aux(_II1 __first1, _II1 __last1, _II2
19804# 1423
19805__first2, _II2 __last2)
19806# 1424
19807{
19808# 1425
19809return std::__lexicographical_compare_aux1(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2), std::__niter_base(__last2));
19810# 1429
19811}
19812# 1431
19813template< class _Iter1, class _Seq1, class _Cat1, class
19814# 1432
19815_II2> bool
19816# 1431
19817__lexicographical_compare_aux(const __gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1> &, _II2, _II2);
19818# 1439
19819template< class _II1, class
19820# 1440
19821_Iter2, class _Seq2, class _Cat2> bool
19822# 1439
19823__lexicographical_compare_aux(_II1, _II1, const __gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2> &, const __gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2> &);
19824# 1447
19825template< class _Iter1, class _Seq1, class _Cat1, class
19826# 1448
19827_Iter2, class _Seq2, class _Cat2> bool
19828# 1447
19829__lexicographical_compare_aux(const __gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _Iter1, _Seq1, _Cat1> &, const __gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2> &, const __gnu_debug::_Safe_iterator< _Iter2, _Seq2, _Cat2> &);
19830# 1456
19831template< class _ForwardIterator, class _Tp, class _Compare> _ForwardIterator
19832# 1459
19833__lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp &
19834# 1460
19835__val, _Compare __comp)
19836# 1461
19837{
19838# 1463
19839typedef typename iterator_traits< _ForwardIterator> ::difference_type _DistanceType;
19840# 1465
19841_DistanceType __len = std::distance(__first, __last);
19842# 1467
19843while (__len > 0)
19844# 1468
19845{
19846# 1469
19847_DistanceType __half = __len >> 1;
19848# 1470
19849_ForwardIterator __middle = __first;
19850# 1471
19851std::advance(__middle, __half);
19852# 1472
19853if (__comp(__middle, __val))
19854# 1473
19855{
19856# 1474
19857__first = __middle;
19858# 1475
19859++__first;
19860# 1476
19861__len = ((__len - __half) - 1);
19862# 1477
19863} else {
19864# 1479
19865__len = __half; }
19866# 1480
19867}
19868# 1481
19869return __first;
19870# 1482
19871}
19872# 1495 "/usr/include/c++/13/bits/stl_algobase.h" 3
19873template< class _ForwardIterator, class _Tp> inline _ForwardIterator
19874# 1498
19875lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp &
19876# 1499
19877__val)
19878# 1500
19879{
19880# 1505
19881;
19882# 1507
19883return std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val());
19884# 1509
19885}
19886# 1513
19887template< class _Tp> constexpr _Tp
19888# 1515
19889__lg(_Tp __n)
19890# 1516
19891{
19892# 1518
19893return std::__bit_width((make_unsigned_t< _Tp> )__n) - 1;
19894# 1528 "/usr/include/c++/13/bits/stl_algobase.h" 3
19895}
19896# 1544 "/usr/include/c++/13/bits/stl_algobase.h" 3
19897template< class _II1, class _II2> inline bool
19898# 1547
19899equal(_II1 __first1, _II1 __last1, _II2 __first2)
19900# 1548
19901{
19902# 1555
19903;
19904# 1557
19905return std::__equal_aux(__first1, __last1, __first2);
19906# 1558
19907}
19908# 1575 "/usr/include/c++/13/bits/stl_algobase.h" 3
19909template< class _IIter1, class _IIter2, class _BinaryPredicate> inline bool
19910# 1578
19911equal(_IIter1 __first1, _IIter1 __last1, _IIter2
19912# 1579
19913__first2, _BinaryPredicate __binary_pred)
19914# 1580
19915{
19916# 1584
19917;
19918# 1586
19919for (; __first1 != __last1; (++__first1), ((void)(++__first2))) {
19920# 1587
19921if (!((bool)__binary_pred(*__first1, *__first2))) {
19922# 1588
19923return false; } }
19924# 1589
19925return true;
19926# 1590
19927}
19928# 1594
19929template< class _II1, class _II2> inline bool
19930# 1597
19931__equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
19932# 1598
19933{
19934# 1599
19935using _RATag = random_access_iterator_tag;
19936# 1600
19937using _Cat1 = typename iterator_traits< _II1> ::iterator_category;
19938# 1601
19939using _Cat2 = typename iterator_traits< _II2> ::iterator_category;
19940# 1602
19941using _RAIters = __and_< is_same< typename iterator_traits< _II1> ::iterator_category, random_access_iterator_tag> , is_same< typename iterator_traits< _II2> ::iterator_category, random_access_iterator_tag> > ;
19942# 1603
19943if (_RAIters())
19944# 1604
19945{
19946# 1605
19947auto __d1 = std::distance(__first1, __last1);
19948# 1606
19949auto __d2 = std::distance(__first2, __last2);
19950# 1607
19951if (__d1 != __d2) {
19952# 1608
19953return false; }
19954# 1609
19955return std::equal(__first1, __last1, __first2);
19956# 1610
19957}
19958# 1612
19959for (; (__first1 != __last1) && (__first2 != __last2); (++__first1), ((void)(++__first2))) {
19960# 1614
19961if (!((*__first1) == (*__first2))) {
19962# 1615
19963return false; } }
19964# 1616
19965return (__first1 == __last1) && (__first2 == __last2);
19966# 1617
19967}
19968# 1620
19969template< class _II1, class _II2, class _BinaryPredicate> inline bool
19970# 1623
19971__equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _BinaryPredicate
19972# 1624
19973__binary_pred)
19974# 1625
19975{
19976# 1626
19977using _RATag = random_access_iterator_tag;
19978# 1627
19979using _Cat1 = typename iterator_traits< _II1> ::iterator_category;
19980# 1628
19981using _Cat2 = typename iterator_traits< _II2> ::iterator_category;
19982# 1629
19983using _RAIters = __and_< is_same< typename iterator_traits< _II1> ::iterator_category, random_access_iterator_tag> , is_same< typename iterator_traits< _II2> ::iterator_category, random_access_iterator_tag> > ;
19984# 1630
19985if (_RAIters())
19986# 1631
19987{
19988# 1632
19989auto __d1 = std::distance(__first1, __last1);
19990# 1633
19991auto __d2 = std::distance(__first2, __last2);
19992# 1634
19993if (__d1 != __d2) {
19994# 1635
19995return false; }
19996# 1636
19997return std::equal(__first1, __last1, __first2, __binary_pred);
19998# 1638
19999}
20000# 1640
20001for (; (__first1 != __last1) && (__first2 != __last2); (++__first1), ((void)(++__first2))) {
20002# 1642
20003if (!((bool)__binary_pred(*__first1, *__first2))) {
20004# 1643
20005return false; } }
20006# 1644
20007return (__first1 == __last1) && (__first2 == __last2);
20008# 1645
20009}
20010# 1665 "/usr/include/c++/13/bits/stl_algobase.h" 3
20011template< class _II1, class _II2> inline bool
20012# 1668
20013equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
20014# 1669
20015{
20016# 1676
20017;
20018# 1677
20019;
20020# 1679
20021return std::__equal4(__first1, __last1, __first2, __last2);
20022# 1680
20023}
20024# 1698 "/usr/include/c++/13/bits/stl_algobase.h" 3
20025template< class _IIter1, class _IIter2, class _BinaryPredicate> inline bool
20026# 1701
20027equal(_IIter1 __first1, _IIter1 __last1, _IIter2
20028# 1702
20029__first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
20030# 1703
20031{
20032# 1707
20033;
20034# 1708
20035;
20036# 1710
20037return std::__equal4(__first1, __last1, __first2, __last2, __binary_pred);
20038# 1712
20039}
20040# 1730 "/usr/include/c++/13/bits/stl_algobase.h" 3
20041template< class _II1, class _II2> inline bool
20042# 1733
20043lexicographical_compare(_II1 __first1, _II1 __last1, _II2
20044# 1734
20045__first2, _II2 __last2)
20046# 1735
20047{
20048# 1745
20049;
20050# 1746
20051;
20052# 1748
20053return std::__lexicographical_compare_aux(__first1, __last1, __first2, __last2);
20054# 1750
20055}
20056# 1765 "/usr/include/c++/13/bits/stl_algobase.h" 3
20057template< class _II1, class _II2, class _Compare> inline bool
20058# 1768
20059lexicographical_compare(_II1 __first1, _II1 __last1, _II2
20060# 1769
20061__first2, _II2 __last2, _Compare __comp)
20062# 1770
20063{
20064# 1774
20065;
20066# 1775
20067;
20068# 1777
20069return std::__lexicographical_compare_impl(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__comp));
20070# 1780
20071}
20072# 1880 "/usr/include/c++/13/bits/stl_algobase.h" 3
20073template< class _InputIterator1, class _InputIterator2, class
20074# 1881
20075_BinaryPredicate> pair< _InputIterator1, _InputIterator2>
20076# 1884
20077__mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20078# 1885
20079__first2, _BinaryPredicate __binary_pred)
20080# 1886
20081{
20082# 1887
20083while ((__first1 != __last1) && __binary_pred(__first1, __first2))
20084# 1888
20085{
20086# 1889
20087++__first1;
20088# 1890
20089++__first2;
20090# 1891
20091}
20092# 1892
20093return pair< _InputIterator1, _InputIterator2> (__first1, __first2);
20094# 1893
20095}
20096# 1908 "/usr/include/c++/13/bits/stl_algobase.h" 3
20097template< class _InputIterator1, class _InputIterator2> inline pair< _InputIterator1, _InputIterator2>
20098# 1911
20099mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20100# 1912
20101__first2)
20102# 1913
20103{
20104# 1920
20105;
20106# 1922
20107return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_equal_to_iter());
20108# 1924
20109}
20110# 1942 "/usr/include/c++/13/bits/stl_algobase.h" 3
20111template< class _InputIterator1, class _InputIterator2, class
20112# 1943
20113_BinaryPredicate> inline pair< _InputIterator1, _InputIterator2>
20114# 1946
20115mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20116# 1947
20117__first2, _BinaryPredicate __binary_pred)
20118# 1948
20119{
20120# 1952
20121;
20122# 1954
20123return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
20124# 1956
20125}
20126# 1960
20127template< class _InputIterator1, class _InputIterator2, class
20128# 1961
20129_BinaryPredicate> pair< _InputIterator1, _InputIterator2>
20130# 1964
20131__mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20132# 1965
20133__first2, _InputIterator2 __last2, _BinaryPredicate
20134# 1966
20135__binary_pred)
20136# 1967
20137{
20138# 1968
20139while ((__first1 != __last1) && (__first2 != __last2) && __binary_pred(__first1, __first2))
20140# 1970
20141{
20142# 1971
20143++__first1;
20144# 1972
20145++__first2;
20146# 1973
20147}
20148# 1974
20149return pair< _InputIterator1, _InputIterator2> (__first1, __first2);
20150# 1975
20151}
20152# 1991 "/usr/include/c++/13/bits/stl_algobase.h" 3
20153template< class _InputIterator1, class _InputIterator2> inline pair< _InputIterator1, _InputIterator2>
20154# 1994
20155mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20156# 1995
20157__first2, _InputIterator2 __last2)
20158# 1996
20159{
20160# 2003
20161;
20162# 2004
20163;
20164# 2006
20165return std::__mismatch(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_equal_to_iter());
20166# 2008
20167}
20168# 2027 "/usr/include/c++/13/bits/stl_algobase.h" 3
20169template< class _InputIterator1, class _InputIterator2, class
20170# 2028
20171_BinaryPredicate> inline pair< _InputIterator1, _InputIterator2>
20172# 2031
20173mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
20174# 2032
20175__first2, _InputIterator2 __last2, _BinaryPredicate
20176# 2033
20177__binary_pred)
20178# 2034
20179{
20180# 2038
20181;
20182# 2039
20183;
20184# 2041
20185return std::__mismatch(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
20186# 2043
20187}
20188# 2049
20189template< class _InputIterator, class _Predicate> inline _InputIterator
20190# 2052
20191__find_if(_InputIterator __first, _InputIterator __last, _Predicate
20192# 2053
20193__pred, input_iterator_tag)
20194# 2054
20195{
20196# 2055
20197while ((__first != __last) && (!__pred(__first))) {
20198# 2056
20199++__first; }
20200# 2057
20201return __first;
20202# 2058
20203}
20204# 2061
20205template< class _RandomAccessIterator, class _Predicate> _RandomAccessIterator
20206# 2064
20207__find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate
20208# 2065
20209__pred, random_access_iterator_tag)
20210# 2066
20211{
20212# 2068
20213typename iterator_traits< _RandomAccessIterator> ::difference_type __trip_count = (__last - __first) >> 2;
20214# 2070
20215for (; __trip_count > 0; --__trip_count)
20216# 2071
20217{
20218# 2072
20219if (__pred(__first)) {
20220# 2073
20221return __first; }
20222# 2074
20223++__first;
20224# 2076
20225if (__pred(__first)) {
20226# 2077
20227return __first; }
20228# 2078
20229++__first;
20230# 2080
20231if (__pred(__first)) {
20232# 2081
20233return __first; }
20234# 2082
20235++__first;
20236# 2084
20237if (__pred(__first)) {
20238# 2085
20239return __first; }
20240# 2086
20241++__first;
20242# 2087
20243}
20244# 2089
20245switch (__last - __first)
20246# 2090
20247{
20248# 2091
20249case 3:
20250# 2092
20251if (__pred(__first)) {
20252# 2093
20253return __first; }
20254# 2094
20255++__first;
20256# 2096
20257case 2:
20258# 2097
20259if (__pred(__first)) {
20260# 2098
20261return __first; }
20262# 2099
20263++__first;
20264# 2101
20265case 1:
20266# 2102
20267if (__pred(__first)) {
20268# 2103
20269return __first; }
20270# 2104
20271++__first;
20272# 2106
20273case 0:
20274# 2107
20275default:
20276# 2108
20277return __last;
20278# 2109
20279}
20280# 2110
20281}
20282# 2112
20283template< class _Iterator, class _Predicate> inline _Iterator
20284# 2115
20285__find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
20286# 2116
20287{
20288# 2117
20289return __find_if(__first, __last, __pred, std::__iterator_category(__first));
20290# 2119
20291}
20292# 2121
20293template< class _InputIterator, class _Predicate> typename iterator_traits< _InputIterator> ::difference_type
20294# 2124
20295__count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
20296# 2125
20297{
20298# 2126
20299typename iterator_traits< _InputIterator> ::difference_type __n = (0);
20300# 2127
20301for (; __first != __last; ++__first) {
20302# 2128
20303if (__pred(__first)) {
20304# 2129
20305++__n; } }
20306# 2130
20307return __n;
20308# 2131
20309}
20310# 2133
20311template< class _ForwardIterator, class _Predicate> _ForwardIterator
20312# 2136
20313__remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate
20314# 2137
20315__pred)
20316# 2138
20317{
20318# 2139
20319__first = std::__find_if(__first, __last, __pred);
20320# 2140
20321if (__first == __last) {
20322# 2141
20323return __first; }
20324# 2142
20325_ForwardIterator __result = __first;
20326# 2143
20327++__first;
20328# 2144
20329for (; __first != __last; ++__first) {
20330# 2145
20331if (!__pred(__first))
20332# 2146
20333{
20334# 2147
20335(*__result) = std::move(*__first);
20336# 2148
20337++__result;
20338# 2149
20339} }
20340# 2150
20341return __result;
20342# 2151
20343}
20344# 2154
20345template< class _ForwardIterator1, class _ForwardIterator2, class
20346# 2155
20347_BinaryPredicate> bool
20348# 2158
20349__is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2
20350# 2159
20351__first2, _BinaryPredicate __pred)
20352# 2160
20353{
20354# 2163
20355for (; __first1 != __last1; (++__first1), ((void)(++__first2))) {
20356# 2164
20357if (!__pred(__first1, __first2)) {
20358# 2165
20359break; } }
20360# 2167
20361if (__first1 == __last1) {
20362# 2168
20363return true; }
20364# 2172
20365_ForwardIterator2 __last2 = __first2;
20366# 2173
20367std::advance(__last2, std::distance(__first1, __last1));
20368# 2174
20369for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
20370# 2175
20371{
20372# 2176
20373if (__scan != std::__find_if(__first1, __scan, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) {
20374# 2178
20375continue; }
20376# 2180
20377auto __matches = std::__count_if(__first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
20378# 2183
20379if ((0 == __matches) || (std::__count_if(__scan, __last1, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) != __matches)) {
20380# 2187
20381return false; }
20382# 2188
20383}
20384# 2189
20385return true;
20386# 2190
20387}
20388# 2204 "/usr/include/c++/13/bits/stl_algobase.h" 3
20389template< class _ForwardIterator1, class _ForwardIterator2> inline bool
20390# 2207
20391is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2
20392# 2208
20393__first2)
20394# 2209
20395{
20396# 2216
20397;
20398# 2218
20399return std::__is_permutation(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_equal_to_iter());
20400# 2220
20401}
20402# 2224
20403}
20404# 158 "/usr/include/c++/13/limits" 3
20405namespace std __attribute((__visibility__("default"))) {
20406# 167
20407enum float_round_style {
20408# 169
20409round_indeterminate = (-1),
20410# 170
20411round_toward_zero = 0,
20412# 171
20413round_to_nearest,
20414# 172
20415round_toward_infinity,
20416# 173
20417round_toward_neg_infinity
20418# 174
20419};
20420# 182
20421enum float_denorm_style {
20422# 185
20423denorm_indeterminate = (-1),
20424# 187
20425denorm_absent = 0,
20426# 189
20427denorm_present
20428# 190
20429};
20430# 202 "/usr/include/c++/13/limits" 3
20431struct __numeric_limits_base {
20432# 206
20433static constexpr inline bool is_specialized = false;
20434# 211
20435static constexpr inline int digits = 0;
20436# 214
20437static constexpr inline int digits10 = 0;
20438# 219
20439static constexpr inline int max_digits10 = 0;
20440# 223
20441static constexpr inline bool is_signed = false;
20442# 226
20443static constexpr inline bool is_integer = false;
20444# 231
20445static constexpr inline bool is_exact = false;
20446# 235
20447static constexpr inline int radix = 0;
20448# 239
20449static constexpr inline int min_exponent = 0;
20450# 243
20451static constexpr inline int min_exponent10 = 0;
20452# 248
20453static constexpr inline int max_exponent = 0;
20454# 252
20455static constexpr inline int max_exponent10 = 0;
20456# 255
20457static constexpr inline bool has_infinity = false;
20458# 259
20459static constexpr inline bool has_quiet_NaN = false;
20460# 263
20461static constexpr inline bool has_signaling_NaN = false;
20462# 266
20463static constexpr inline float_denorm_style has_denorm = denorm_absent;
20464# 270
20465static constexpr inline bool has_denorm_loss = false;
20466# 274
20467static constexpr inline bool is_iec559 = false;
20468# 279
20469static constexpr inline bool is_bounded = false;
20470# 288 "/usr/include/c++/13/limits" 3
20471static constexpr inline bool is_modulo = false;
20472# 291
20473static constexpr inline bool traps = false;
20474# 294
20475static constexpr inline bool tinyness_before = false;
20476# 299
20477static constexpr inline float_round_style round_style = round_toward_zero;
20478# 301
20479};
20480# 311 "/usr/include/c++/13/limits" 3
20481template< class _Tp>
20482# 312
20483struct numeric_limits : public __numeric_limits_base {
20484# 317
20485static constexpr _Tp min() noexcept { return _Tp(); }
20486# 321
20487static constexpr _Tp max() noexcept { return _Tp(); }
20488# 327
20489static constexpr _Tp lowest() noexcept { return _Tp(); }
20490# 333
20491static constexpr _Tp epsilon() noexcept { return _Tp(); }
20492# 337
20493static constexpr _Tp round_error() noexcept { return _Tp(); }
20494# 341
20495static constexpr _Tp infinity() noexcept { return _Tp(); }
20496# 346
20497static constexpr _Tp quiet_NaN() noexcept { return _Tp(); }
20498# 351
20499static constexpr _Tp signaling_NaN() noexcept { return _Tp(); }
20500# 357
20501static constexpr _Tp denorm_min() noexcept { return _Tp(); }
20502# 358
20503};
20504# 363
20505template< class _Tp>
20506# 364
20507struct numeric_limits< const _Tp> : public std::numeric_limits< _Tp> {
20508# 365
20509};
20510# 367
20511template< class _Tp>
20512# 368
20513struct numeric_limits< volatile _Tp> : public std::numeric_limits< _Tp> {
20514# 369
20515};
20516# 371
20517template< class _Tp>
20518# 372
20519struct numeric_limits< const volatile _Tp> : public std::numeric_limits< _Tp> {
20520# 373
20521};
20522# 384 "/usr/include/c++/13/limits" 3
20523template<> struct numeric_limits< bool> {
20524# 386
20525static constexpr inline bool is_specialized = true;
20526# 389
20527static constexpr bool min() noexcept { return false; }
20528# 392
20529static constexpr bool max() noexcept { return true; }
20530# 396
20531static constexpr bool lowest() noexcept { return min(); }
20532# 398
20533static constexpr inline int digits = 1;
20534# 399
20535static constexpr inline int digits10 = 0;
20536# 401
20537static constexpr inline int max_digits10 = 0;
20538# 403
20539static constexpr inline bool is_signed = false;
20540# 404
20541static constexpr inline bool is_integer = true;
20542# 405
20543static constexpr inline bool is_exact = true;
20544# 406
20545static constexpr inline int radix = 2;
20546# 409
20547static constexpr bool epsilon() noexcept { return false; }
20548# 412
20549static constexpr bool round_error() noexcept { return false; }
20550# 414
20551static constexpr inline int min_exponent = 0;
20552# 415
20553static constexpr inline int min_exponent10 = 0;
20554# 416
20555static constexpr inline int max_exponent = 0;
20556# 417
20557static constexpr inline int max_exponent10 = 0;
20558# 419
20559static constexpr inline bool has_infinity = false;
20560# 420
20561static constexpr inline bool has_quiet_NaN = false;
20562# 421
20563static constexpr inline bool has_signaling_NaN = false;
20564# 422
20565static constexpr inline float_denorm_style has_denorm = denorm_absent;
20566# 424
20567static constexpr inline bool has_denorm_loss = false;
20568# 427
20569static constexpr bool infinity() noexcept { return false; }
20570# 430
20571static constexpr bool quiet_NaN() noexcept { return false; }
20572# 433
20573static constexpr bool signaling_NaN() noexcept { return false; }
20574# 436
20575static constexpr bool denorm_min() noexcept { return false; }
20576# 438
20577static constexpr inline bool is_iec559 = false;
20578# 439
20579static constexpr inline bool is_bounded = true;
20580# 440
20581static constexpr inline bool is_modulo = false;
20582# 445
20583static constexpr inline bool traps = true;
20584# 446
20585static constexpr inline bool tinyness_before = false;
20586# 447
20587static constexpr inline float_round_style round_style = round_toward_zero;
20588# 449
20589};
20590# 453
20591template<> struct numeric_limits< char> {
20592# 455
20593static constexpr inline bool is_specialized = true;
20594# 458
20595static constexpr char min() noexcept { return ((((char)(-1)) < 0) ? (-((((char)(-1)) < 0) ? (((((char)1) << (((sizeof(char) * (8)) - (((char)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((char)0)))) - 1 : ((char)0)); }
20596# 461
20597static constexpr char max() noexcept { return ((((char)(-1)) < 0) ? (((((char)1) << (((sizeof(char) * (8)) - (((char)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((char)0))); }
20598# 465
20599static constexpr char lowest() noexcept { return min(); }
20600# 468
20601static constexpr inline int digits = ((sizeof(char) * (8)) - (((char)(-1)) < 0));
20602# 469
20603static constexpr inline int digits10 = ((((sizeof(char) * (8)) - (((char)(-1)) < 0)) * (643L)) / (2136));
20604# 471
20605static constexpr inline int max_digits10 = 0;
20606# 473
20607static constexpr inline bool is_signed = (((char)(-1)) < 0);
20608# 474
20609static constexpr inline bool is_integer = true;
20610# 475
20611static constexpr inline bool is_exact = true;
20612# 476
20613static constexpr inline int radix = 2;
20614# 479
20615static constexpr char epsilon() noexcept { return 0; }
20616# 482
20617static constexpr char round_error() noexcept { return 0; }
20618# 484
20619static constexpr inline int min_exponent = 0;
20620# 485
20621static constexpr inline int min_exponent10 = 0;
20622# 486
20623static constexpr inline int max_exponent = 0;
20624# 487
20625static constexpr inline int max_exponent10 = 0;
20626# 489
20627static constexpr inline bool has_infinity = false;
20628# 490
20629static constexpr inline bool has_quiet_NaN = false;
20630# 491
20631static constexpr inline bool has_signaling_NaN = false;
20632# 492
20633static constexpr inline float_denorm_style has_denorm = denorm_absent;
20634# 494
20635static constexpr inline bool has_denorm_loss = false;
20636# 497
20637static constexpr char infinity() noexcept { return ((char)0); }
20638# 500
20639static constexpr char quiet_NaN() noexcept { return ((char)0); }
20640# 503
20641static constexpr char signaling_NaN() noexcept { return ((char)0); }
20642# 506
20643static constexpr char denorm_min() noexcept { return static_cast< char>(0); }
20644# 508
20645static constexpr inline bool is_iec559 = false;
20646# 509
20647static constexpr inline bool is_bounded = true;
20648# 510
20649static constexpr inline bool is_modulo = (!is_signed);
20650# 512
20651static constexpr inline bool traps = true;
20652# 513
20653static constexpr inline bool tinyness_before = false;
20654# 514
20655static constexpr inline float_round_style round_style = round_toward_zero;
20656# 516
20657};
20658# 520
20659template<> struct numeric_limits< signed char> {
20660# 522
20661static constexpr inline bool is_specialized = true;
20662# 525
20663static constexpr signed char min() noexcept { return (-127) - 1; }
20664# 528
20665static constexpr signed char max() noexcept { return 127; }
20666# 532
20667static constexpr signed char lowest() noexcept { return min(); }
20668# 535
20669static constexpr inline int digits = ((sizeof(signed char) * (8)) - (((signed char)(-1)) < 0));
20670# 536
20671static constexpr inline int digits10 = ((((sizeof(signed char) * (8)) - (((signed char)(-1)) < 0)) * (643L)) / (2136));
20672# 539
20673static constexpr inline int max_digits10 = 0;
20674# 541
20675static constexpr inline bool is_signed = true;
20676# 542
20677static constexpr inline bool is_integer = true;
20678# 543
20679static constexpr inline bool is_exact = true;
20680# 544
20681static constexpr inline int radix = 2;
20682# 547
20683static constexpr signed char epsilon() noexcept { return 0; }
20684# 550
20685static constexpr signed char round_error() noexcept { return 0; }
20686# 552
20687static constexpr inline int min_exponent = 0;
20688# 553
20689static constexpr inline int min_exponent10 = 0;
20690# 554
20691static constexpr inline int max_exponent = 0;
20692# 555
20693static constexpr inline int max_exponent10 = 0;
20694# 557
20695static constexpr inline bool has_infinity = false;
20696# 558
20697static constexpr inline bool has_quiet_NaN = false;
20698# 559
20699static constexpr inline bool has_signaling_NaN = false;
20700# 560
20701static constexpr inline float_denorm_style has_denorm = denorm_absent;
20702# 562
20703static constexpr inline bool has_denorm_loss = false;
20704# 565
20705static constexpr signed char infinity() noexcept { return static_cast< signed char>(0); }
20706# 568
20707static constexpr signed char quiet_NaN() noexcept { return static_cast< signed char>(0); }
20708# 571
20709static constexpr signed char signaling_NaN() noexcept
20710# 572
20711{ return static_cast< signed char>(0); }
20712# 575
20713static constexpr signed char denorm_min() noexcept
20714# 576
20715{ return static_cast< signed char>(0); }
20716# 578
20717static constexpr inline bool is_iec559 = false;
20718# 579
20719static constexpr inline bool is_bounded = true;
20720# 580
20721static constexpr inline bool is_modulo = false;
20722# 582
20723static constexpr inline bool traps = true;
20724# 583
20725static constexpr inline bool tinyness_before = false;
20726# 584
20727static constexpr inline float_round_style round_style = round_toward_zero;
20728# 586
20729};
20730# 590
20731template<> struct numeric_limits< unsigned char> {
20732# 592
20733static constexpr inline bool is_specialized = true;
20734# 595
20735static constexpr unsigned char min() noexcept { return 0; }
20736# 598
20737static constexpr unsigned char max() noexcept { return ((127) * 2U) + (1); }
20738# 602
20739static constexpr unsigned char lowest() noexcept { return min(); }
20740# 605
20741static constexpr inline int digits = ((sizeof(unsigned char) * (8)) - (((unsigned char)(-1)) < 0));
20742# 607
20743static constexpr inline int digits10 = ((((sizeof(unsigned char) * (8)) - (((unsigned char)(-1)) < 0)) * (643L)) / (2136));
20744# 610
20745static constexpr inline int max_digits10 = 0;
20746# 612
20747static constexpr inline bool is_signed = false;
20748# 613
20749static constexpr inline bool is_integer = true;
20750# 614
20751static constexpr inline bool is_exact = true;
20752# 615
20753static constexpr inline int radix = 2;
20754# 618
20755static constexpr unsigned char epsilon() noexcept { return 0; }
20756# 621
20757static constexpr unsigned char round_error() noexcept { return 0; }
20758# 623
20759static constexpr inline int min_exponent = 0;
20760# 624
20761static constexpr inline int min_exponent10 = 0;
20762# 625
20763static constexpr inline int max_exponent = 0;
20764# 626
20765static constexpr inline int max_exponent10 = 0;
20766# 628
20767static constexpr inline bool has_infinity = false;
20768# 629
20769static constexpr inline bool has_quiet_NaN = false;
20770# 630
20771static constexpr inline bool has_signaling_NaN = false;
20772# 631
20773static constexpr inline float_denorm_style has_denorm = denorm_absent;
20774# 633
20775static constexpr inline bool has_denorm_loss = false;
20776# 636
20777static constexpr unsigned char infinity() noexcept
20778# 637
20779{ return static_cast< unsigned char>(0); }
20780# 640
20781static constexpr unsigned char quiet_NaN() noexcept
20782# 641
20783{ return static_cast< unsigned char>(0); }
20784# 644
20785static constexpr unsigned char signaling_NaN() noexcept
20786# 645
20787{ return static_cast< unsigned char>(0); }
20788# 648
20789static constexpr unsigned char denorm_min() noexcept
20790# 649
20791{ return static_cast< unsigned char>(0); }
20792# 651
20793static constexpr inline bool is_iec559 = false;
20794# 652
20795static constexpr inline bool is_bounded = true;
20796# 653
20797static constexpr inline bool is_modulo = true;
20798# 655
20799static constexpr inline bool traps = true;
20800# 656
20801static constexpr inline bool tinyness_before = false;
20802# 657
20803static constexpr inline float_round_style round_style = round_toward_zero;
20804# 659
20805};
20806# 663
20807template<> struct numeric_limits< wchar_t> {
20808# 665
20809static constexpr inline bool is_specialized = true;
20810# 668
20811static constexpr wchar_t min() noexcept { return ((((wchar_t)(-1)) < 0) ? (-((((wchar_t)(-1)) < 0) ? (((((wchar_t)1) << (((sizeof(wchar_t) * (8)) - (((wchar_t)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((wchar_t)0)))) - 1 : ((wchar_t)0)); }
20812# 671
20813static constexpr wchar_t max() noexcept { return ((((wchar_t)(-1)) < 0) ? (((((wchar_t)1) << (((sizeof(wchar_t) * (8)) - (((wchar_t)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((wchar_t)0))); }
20814# 675
20815static constexpr wchar_t lowest() noexcept { return min(); }
20816# 678
20817static constexpr inline int digits = ((sizeof(wchar_t) * (8)) - (((wchar_t)(-1)) < 0));
20818# 679
20819static constexpr inline int digits10 = ((((sizeof(wchar_t) * (8)) - (((wchar_t)(-1)) < 0)) * (643L)) / (2136));
20820# 682
20821static constexpr inline int max_digits10 = 0;
20822# 684
20823static constexpr inline bool is_signed = (((wchar_t)(-1)) < 0);
20824# 685
20825static constexpr inline bool is_integer = true;
20826# 686
20827static constexpr inline bool is_exact = true;
20828# 687
20829static constexpr inline int radix = 2;
20830# 690
20831static constexpr wchar_t epsilon() noexcept { return 0; }
20832# 693
20833static constexpr wchar_t round_error() noexcept { return 0; }
20834# 695
20835static constexpr inline int min_exponent = 0;
20836# 696
20837static constexpr inline int min_exponent10 = 0;
20838# 697
20839static constexpr inline int max_exponent = 0;
20840# 698
20841static constexpr inline int max_exponent10 = 0;
20842# 700
20843static constexpr inline bool has_infinity = false;
20844# 701
20845static constexpr inline bool has_quiet_NaN = false;
20846# 702
20847static constexpr inline bool has_signaling_NaN = false;
20848# 703
20849static constexpr inline float_denorm_style has_denorm = denorm_absent;
20850# 705
20851static constexpr inline bool has_denorm_loss = false;
20852# 708
20853static constexpr wchar_t infinity() noexcept { return ((wchar_t)0); }
20854# 711
20855static constexpr wchar_t quiet_NaN() noexcept { return ((wchar_t)0); }
20856# 714
20857static constexpr wchar_t signaling_NaN() noexcept { return ((wchar_t)0); }
20858# 717
20859static constexpr wchar_t denorm_min() noexcept { return ((wchar_t)0); }
20860# 719
20861static constexpr inline bool is_iec559 = false;
20862# 720
20863static constexpr inline bool is_bounded = true;
20864# 721
20865static constexpr inline bool is_modulo = (!is_signed);
20866# 723
20867static constexpr inline bool traps = true;
20868# 724
20869static constexpr inline bool tinyness_before = false;
20870# 725
20871static constexpr inline float_round_style round_style = round_toward_zero;
20872# 727
20873};
20874# 797 "/usr/include/c++/13/limits" 3
20875template<> struct numeric_limits< char16_t> {
20876# 799
20877static constexpr inline bool is_specialized = true;
20878# 802
20879static constexpr char16_t min() noexcept { return ((((char16_t)(-1)) < 0) ? (-((((char16_t)(-1)) < 0) ? (((((char16_t)1) << (((sizeof(char16_t) * (8)) - (((char16_t)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((char16_t)0)))) - 1 : ((char16_t)0)); }
20880# 805
20881static constexpr char16_t max() noexcept { return ((((char16_t)(-1)) < 0) ? (((((char16_t)1) << (((sizeof(char16_t) * (8)) - (((char16_t)(-1)) < 0)) - (1))) - 1) << 1) + 1 : (~((char16_t)0))); }
20882# 808
20883static constexpr char16_t lowest() noexcept { return min(); }
20884# 810
20885static constexpr inline int digits = ((sizeof(char16_t) * (8)) - (((char16_t)(-1)) < 0));
20886# 811
20887static constexpr inline int digits10 = ((((sizeof(char16_t) * (8)) - (((char16_t)(-1)) < 0)) * (643L)) / (2136));
20888# 812
20889static constexpr inline int max_digits10 = 0;
20890# 813
20891static constexpr inline bool is_signed = (((char16_t)(-1)) < 0);
20892# 814
20893static constexpr inline bool is_integer = true;
20894# 815
20895static constexpr inline bool is_exact = true;
20896# 816
20897static constexpr inline int radix = 2;
20898# 819
20899static constexpr char16_t epsilon() noexcept { return 0; }
20900# 822
20901static constexpr char16_t round_error() noexcept { return 0; }
20902# 824
20903static constexpr inline int min_exponent = 0;
20904# 825
20905static constexpr inline int min_exponent10 = 0;
20906# 826
20907static constexpr inline int max_exponent = 0;
20908# 827
20909static constexpr inline int max_exponent10 = 0;
20910# 829
20911static constexpr inline bool has_infinity = false;
20912# 830
20913static constexpr inline bool has_quiet_NaN = false;
20914# 831
20915static constexpr inline bool has_signaling_NaN = false;
20916# 832
20917static constexpr inline float_denorm_style has_denorm = denorm_absent;
20918# 833
20919static constexpr inline bool has_denorm_loss = false;
20920# 836
20921static constexpr char16_t infinity() noexcept { return ((char16_t)0); }
20922# 839
20923static constexpr char16_t quiet_NaN() noexcept { return ((char16_t)0); }
20924# 842
20925static constexpr char16_t signaling_NaN() noexcept { return ((char16_t)0); }
20926# 845
20927static constexpr char16_t denorm_min() noexcept { return ((char16_t)0); }
20928# 847
20929static constexpr inline bool is_iec559 = false;
20930# 848
20931static constexpr inline bool is_bounded = true;
20932# 849
20933static constexpr inline bool is_modulo = (!is_signed);
20934# 851
20935static constexpr inline bool traps = true;
20936# 852
20937static constexpr inline bool tinyness_before = false;
20938# 853
20939static constexpr inline float_round_style round_style = round_toward_zero;
20940# 854
20941};
20942# 858
20943template<> struct numeric_limits< char32_t> {
20944# 860
20945static constexpr inline bool is_specialized = true;
20946# 863
20947static constexpr char32_t min() noexcept { return ((((char32_t)(-1)) < (0)) ? (-((((char32_t)(-1)) < (0)) ? (((((char32_t)1) << (((sizeof(char32_t) * (8)) - (((char32_t)(-1)) < (0))) - (1))) - (1)) << 1) + (1) : (~((char32_t)0)))) - (1) : ((char32_t)0)); }
20948# 866
20949static constexpr char32_t max() noexcept { return ((((char32_t)(-1)) < (0)) ? (((((char32_t)1) << (((sizeof(char32_t) * (8)) - (((char32_t)(-1)) < (0))) - (1))) - (1)) << 1) + (1) : (~((char32_t)0))); }
20950# 869
20951static constexpr char32_t lowest() noexcept { return min(); }
20952# 871
20953static constexpr inline int digits = ((sizeof(char32_t) * (8)) - (((char32_t)(-1)) < (0)));
20954# 872
20955static constexpr inline int digits10 = ((((sizeof(char32_t) * (8)) - (((char32_t)(-1)) < (0))) * (643L)) / (2136));
20956# 873
20957static constexpr inline int max_digits10 = 0;
20958# 874
20959static constexpr inline bool is_signed = (((char32_t)(-1)) < (0));
20960# 875
20961static constexpr inline bool is_integer = true;
20962# 876
20963static constexpr inline bool is_exact = true;
20964# 877
20965static constexpr inline int radix = 2;
20966# 880
20967static constexpr char32_t epsilon() noexcept { return 0; }
20968# 883
20969static constexpr char32_t round_error() noexcept { return 0; }
20970# 885
20971static constexpr inline int min_exponent = 0;
20972# 886
20973static constexpr inline int min_exponent10 = 0;
20974# 887
20975static constexpr inline int max_exponent = 0;
20976# 888
20977static constexpr inline int max_exponent10 = 0;
20978# 890
20979static constexpr inline bool has_infinity = false;
20980# 891
20981static constexpr inline bool has_quiet_NaN = false;
20982# 892
20983static constexpr inline bool has_signaling_NaN = false;
20984# 893
20985static constexpr inline float_denorm_style has_denorm = denorm_absent;
20986# 894
20987static constexpr inline bool has_denorm_loss = false;
20988# 897
20989static constexpr char32_t infinity() noexcept { return ((char32_t)0); }
20990# 900
20991static constexpr char32_t quiet_NaN() noexcept { return ((char32_t)0); }
20992# 903
20993static constexpr char32_t signaling_NaN() noexcept { return ((char32_t)0); }
20994# 906
20995static constexpr char32_t denorm_min() noexcept { return ((char32_t)0); }
20996# 908
20997static constexpr inline bool is_iec559 = false;
20998# 909
20999static constexpr inline bool is_bounded = true;
21000# 910
21001static constexpr inline bool is_modulo = (!is_signed);
21002# 912
21003static constexpr inline bool traps = true;
21004# 913
21005static constexpr inline bool tinyness_before = false;
21006# 914
21007static constexpr inline float_round_style round_style = round_toward_zero;
21008# 915
21009};
21010# 920
21011template<> struct numeric_limits< short> {
21012# 922
21013static constexpr inline bool is_specialized = true;
21014# 925
21015static constexpr short min() noexcept { return (-32767) - 1; }
21016# 928
21017static constexpr short max() noexcept { return 32767; }
21018# 932
21019static constexpr short lowest() noexcept { return min(); }
21020# 935
21021static constexpr inline int digits = ((sizeof(short) * (8)) - (((short)(-1)) < 0));
21022# 936
21023static constexpr inline int digits10 = ((((sizeof(short) * (8)) - (((short)(-1)) < 0)) * (643L)) / (2136));
21024# 938
21025static constexpr inline int max_digits10 = 0;
21026# 940
21027static constexpr inline bool is_signed = true;
21028# 941
21029static constexpr inline bool is_integer = true;
21030# 942
21031static constexpr inline bool is_exact = true;
21032# 943
21033static constexpr inline int radix = 2;
21034# 946
21035static constexpr short epsilon() noexcept { return 0; }
21036# 949
21037static constexpr short round_error() noexcept { return 0; }
21038# 951
21039static constexpr inline int min_exponent = 0;
21040# 952
21041static constexpr inline int min_exponent10 = 0;
21042# 953
21043static constexpr inline int max_exponent = 0;
21044# 954
21045static constexpr inline int max_exponent10 = 0;
21046# 956
21047static constexpr inline bool has_infinity = false;
21048# 957
21049static constexpr inline bool has_quiet_NaN = false;
21050# 958
21051static constexpr inline bool has_signaling_NaN = false;
21052# 959
21053static constexpr inline float_denorm_style has_denorm = denorm_absent;
21054# 961
21055static constexpr inline bool has_denorm_loss = false;
21056# 964
21057static constexpr short infinity() noexcept { return ((short)0); }
21058# 967
21059static constexpr short quiet_NaN() noexcept { return ((short)0); }
21060# 970
21061static constexpr short signaling_NaN() noexcept { return ((short)0); }
21062# 973
21063static constexpr short denorm_min() noexcept { return ((short)0); }
21064# 975
21065static constexpr inline bool is_iec559 = false;
21066# 976
21067static constexpr inline bool is_bounded = true;
21068# 977
21069static constexpr inline bool is_modulo = false;
21070# 979
21071static constexpr inline bool traps = true;
21072# 980
21073static constexpr inline bool tinyness_before = false;
21074# 981
21075static constexpr inline float_round_style round_style = round_toward_zero;
21076# 983
21077};
21078# 987
21079template<> struct numeric_limits< unsigned short> {
21080# 989
21081static constexpr inline bool is_specialized = true;
21082# 992
21083static constexpr unsigned short min() noexcept { return 0; }
21084# 995
21085static constexpr unsigned short max() noexcept { return ((32767) * 2U) + (1); }
21086# 999
21087static constexpr unsigned short lowest() noexcept { return min(); }
21088# 1002
21089static constexpr inline int digits = ((sizeof(unsigned short) * (8)) - (((unsigned short)(-1)) < 0));
21090# 1004
21091static constexpr inline int digits10 = ((((sizeof(unsigned short) * (8)) - (((unsigned short)(-1)) < 0)) * (643L)) / (2136));
21092# 1007
21093static constexpr inline int max_digits10 = 0;
21094# 1009
21095static constexpr inline bool is_signed = false;
21096# 1010
21097static constexpr inline bool is_integer = true;
21098# 1011
21099static constexpr inline bool is_exact = true;
21100# 1012
21101static constexpr inline int radix = 2;
21102# 1015
21103static constexpr unsigned short epsilon() noexcept { return 0; }
21104# 1018
21105static constexpr unsigned short round_error() noexcept { return 0; }
21106# 1020
21107static constexpr inline int min_exponent = 0;
21108# 1021
21109static constexpr inline int min_exponent10 = 0;
21110# 1022
21111static constexpr inline int max_exponent = 0;
21112# 1023
21113static constexpr inline int max_exponent10 = 0;
21114# 1025
21115static constexpr inline bool has_infinity = false;
21116# 1026
21117static constexpr inline bool has_quiet_NaN = false;
21118# 1027
21119static constexpr inline bool has_signaling_NaN = false;
21120# 1028
21121static constexpr inline float_denorm_style has_denorm = denorm_absent;
21122# 1030
21123static constexpr inline bool has_denorm_loss = false;
21124# 1033
21125static constexpr unsigned short infinity() noexcept
21126# 1034
21127{ return static_cast< unsigned short>(0); }
21128# 1037
21129static constexpr unsigned short quiet_NaN() noexcept
21130# 1038
21131{ return static_cast< unsigned short>(0); }
21132# 1041
21133static constexpr unsigned short signaling_NaN() noexcept
21134# 1042
21135{ return static_cast< unsigned short>(0); }
21136# 1045
21137static constexpr unsigned short denorm_min() noexcept
21138# 1046
21139{ return static_cast< unsigned short>(0); }
21140# 1048
21141static constexpr inline bool is_iec559 = false;
21142# 1049
21143static constexpr inline bool is_bounded = true;
21144# 1050
21145static constexpr inline bool is_modulo = true;
21146# 1052
21147static constexpr inline bool traps = true;
21148# 1053
21149static constexpr inline bool tinyness_before = false;
21150# 1054
21151static constexpr inline float_round_style round_style = round_toward_zero;
21152# 1056
21153};
21154# 1060
21155template<> struct numeric_limits< int> {
21156# 1062
21157static constexpr inline bool is_specialized = true;
21158# 1065
21159static constexpr int min() noexcept { return (-2147483647) - 1; }
21160# 1068
21161static constexpr int max() noexcept { return 2147483647; }
21162# 1072
21163static constexpr int lowest() noexcept { return min(); }
21164# 1075
21165static constexpr inline int digits = ((sizeof(int) * (8)) - (((int)(-1)) < 0));
21166# 1076
21167static constexpr inline int digits10 = ((((sizeof(int) * (8)) - (((int)(-1)) < 0)) * (643L)) / (2136));
21168# 1078
21169static constexpr inline int max_digits10 = 0;
21170# 1080
21171static constexpr inline bool is_signed = true;
21172# 1081
21173static constexpr inline bool is_integer = true;
21174# 1082
21175static constexpr inline bool is_exact = true;
21176# 1083
21177static constexpr inline int radix = 2;
21178# 1086
21179static constexpr int epsilon() noexcept { return 0; }
21180# 1089
21181static constexpr int round_error() noexcept { return 0; }
21182# 1091
21183static constexpr inline int min_exponent = 0;
21184# 1092
21185static constexpr inline int min_exponent10 = 0;
21186# 1093
21187static constexpr inline int max_exponent = 0;
21188# 1094
21189static constexpr inline int max_exponent10 = 0;
21190# 1096
21191static constexpr inline bool has_infinity = false;
21192# 1097
21193static constexpr inline bool has_quiet_NaN = false;
21194# 1098
21195static constexpr inline bool has_signaling_NaN = false;
21196# 1099
21197static constexpr inline float_denorm_style has_denorm = denorm_absent;
21198# 1101
21199static constexpr inline bool has_denorm_loss = false;
21200# 1104
21201static constexpr int infinity() noexcept { return static_cast< int>(0); }
21202# 1107
21203static constexpr int quiet_NaN() noexcept { return static_cast< int>(0); }
21204# 1110
21205static constexpr int signaling_NaN() noexcept { return static_cast< int>(0); }
21206# 1113
21207static constexpr int denorm_min() noexcept { return static_cast< int>(0); }
21208# 1115
21209static constexpr inline bool is_iec559 = false;
21210# 1116
21211static constexpr inline bool is_bounded = true;
21212# 1117
21213static constexpr inline bool is_modulo = false;
21214# 1119
21215static constexpr inline bool traps = true;
21216# 1120
21217static constexpr inline bool tinyness_before = false;
21218# 1121
21219static constexpr inline float_round_style round_style = round_toward_zero;
21220# 1123
21221};
21222# 1127
21223template<> struct numeric_limits< unsigned> {
21224# 1129
21225static constexpr inline bool is_specialized = true;
21226# 1132
21227static constexpr unsigned min() noexcept { return 0; }
21228# 1135
21229static constexpr unsigned max() noexcept { return ((2147483647) * 2U) + (1); }
21230# 1139
21231static constexpr unsigned lowest() noexcept { return min(); }
21232# 1142
21233static constexpr inline int digits = ((sizeof(unsigned) * (8)) - (((unsigned)(-1)) < (0)));
21234# 1144
21235static constexpr inline int digits10 = ((((sizeof(unsigned) * (8)) - (((unsigned)(-1)) < (0))) * (643L)) / (2136));
21236# 1147
21237static constexpr inline int max_digits10 = 0;
21238# 1149
21239static constexpr inline bool is_signed = false;
21240# 1150
21241static constexpr inline bool is_integer = true;
21242# 1151
21243static constexpr inline bool is_exact = true;
21244# 1152
21245static constexpr inline int radix = 2;
21246# 1155
21247static constexpr unsigned epsilon() noexcept { return 0; }
21248# 1158
21249static constexpr unsigned round_error() noexcept { return 0; }
21250# 1160
21251static constexpr inline int min_exponent = 0;
21252# 1161
21253static constexpr inline int min_exponent10 = 0;
21254# 1162
21255static constexpr inline int max_exponent = 0;
21256# 1163
21257static constexpr inline int max_exponent10 = 0;
21258# 1165
21259static constexpr inline bool has_infinity = false;
21260# 1166
21261static constexpr inline bool has_quiet_NaN = false;
21262# 1167
21263static constexpr inline bool has_signaling_NaN = false;
21264# 1168
21265static constexpr inline float_denorm_style has_denorm = denorm_absent;
21266# 1170
21267static constexpr inline bool has_denorm_loss = false;
21268# 1173
21269static constexpr unsigned infinity() noexcept { return static_cast< unsigned>(0); }
21270# 1176
21271static constexpr unsigned quiet_NaN() noexcept
21272# 1177
21273{ return static_cast< unsigned>(0); }
21274# 1180
21275static constexpr unsigned signaling_NaN() noexcept
21276# 1181
21277{ return static_cast< unsigned>(0); }
21278# 1184
21279static constexpr unsigned denorm_min() noexcept
21280# 1185
21281{ return static_cast< unsigned>(0); }
21282# 1187
21283static constexpr inline bool is_iec559 = false;
21284# 1188
21285static constexpr inline bool is_bounded = true;
21286# 1189
21287static constexpr inline bool is_modulo = true;
21288# 1191
21289static constexpr inline bool traps = true;
21290# 1192
21291static constexpr inline bool tinyness_before = false;
21292# 1193
21293static constexpr inline float_round_style round_style = round_toward_zero;
21294# 1195
21295};
21296# 1199
21297template<> struct numeric_limits< long> {
21298# 1201
21299static constexpr inline bool is_specialized = true;
21300# 1204
21301static constexpr long min() noexcept { return (-9223372036854775807L) - (1); }
21302# 1207
21303static constexpr long max() noexcept { return 9223372036854775807L; }
21304# 1211
21305static constexpr long lowest() noexcept { return min(); }
21306# 1214
21307static constexpr inline int digits = ((sizeof(long) * (8)) - (((long)(-1)) < (0)));
21308# 1215
21309static constexpr inline int digits10 = ((((sizeof(long) * (8)) - (((long)(-1)) < (0))) * (643L)) / (2136));
21310# 1217
21311static constexpr inline int max_digits10 = 0;
21312# 1219
21313static constexpr inline bool is_signed = true;
21314# 1220
21315static constexpr inline bool is_integer = true;
21316# 1221
21317static constexpr inline bool is_exact = true;
21318# 1222
21319static constexpr inline int radix = 2;
21320# 1225
21321static constexpr long epsilon() noexcept { return 0; }
21322# 1228
21323static constexpr long round_error() noexcept { return 0; }
21324# 1230
21325static constexpr inline int min_exponent = 0;
21326# 1231
21327static constexpr inline int min_exponent10 = 0;
21328# 1232
21329static constexpr inline int max_exponent = 0;
21330# 1233
21331static constexpr inline int max_exponent10 = 0;
21332# 1235
21333static constexpr inline bool has_infinity = false;
21334# 1236
21335static constexpr inline bool has_quiet_NaN = false;
21336# 1237
21337static constexpr inline bool has_signaling_NaN = false;
21338# 1238
21339static constexpr inline float_denorm_style has_denorm = denorm_absent;
21340# 1240
21341static constexpr inline bool has_denorm_loss = false;
21342# 1243
21343static constexpr long infinity() noexcept { return static_cast< long>(0); }
21344# 1246
21345static constexpr long quiet_NaN() noexcept { return static_cast< long>(0); }
21346# 1249
21347static constexpr long signaling_NaN() noexcept { return static_cast< long>(0); }
21348# 1252
21349static constexpr long denorm_min() noexcept { return static_cast< long>(0); }
21350# 1254
21351static constexpr inline bool is_iec559 = false;
21352# 1255
21353static constexpr inline bool is_bounded = true;
21354# 1256
21355static constexpr inline bool is_modulo = false;
21356# 1258
21357static constexpr inline bool traps = true;
21358# 1259
21359static constexpr inline bool tinyness_before = false;
21360# 1260
21361static constexpr inline float_round_style round_style = round_toward_zero;
21362# 1262
21363};
21364# 1266
21365template<> struct numeric_limits< unsigned long> {
21366# 1268
21367static constexpr inline bool is_specialized = true;
21368# 1271
21369static constexpr unsigned long min() noexcept { return 0; }
21370# 1274
21371static constexpr unsigned long max() noexcept { return ((9223372036854775807L) * 2UL) + (1); }
21372# 1278
21373static constexpr unsigned long lowest() noexcept { return min(); }
21374# 1281
21375static constexpr inline int digits = ((sizeof(unsigned long) * (8)) - (((unsigned long)(-1)) < (0)));
21376# 1283
21377static constexpr inline int digits10 = ((((sizeof(unsigned long) * (8)) - (((unsigned long)(-1)) < (0))) * (643L)) / (2136));
21378# 1286
21379static constexpr inline int max_digits10 = 0;
21380# 1288
21381static constexpr inline bool is_signed = false;
21382# 1289
21383static constexpr inline bool is_integer = true;
21384# 1290
21385static constexpr inline bool is_exact = true;
21386# 1291
21387static constexpr inline int radix = 2;
21388# 1294
21389static constexpr unsigned long epsilon() noexcept { return 0; }
21390# 1297
21391static constexpr unsigned long round_error() noexcept { return 0; }
21392# 1299
21393static constexpr inline int min_exponent = 0;
21394# 1300
21395static constexpr inline int min_exponent10 = 0;
21396# 1301
21397static constexpr inline int max_exponent = 0;
21398# 1302
21399static constexpr inline int max_exponent10 = 0;
21400# 1304
21401static constexpr inline bool has_infinity = false;
21402# 1305
21403static constexpr inline bool has_quiet_NaN = false;
21404# 1306
21405static constexpr inline bool has_signaling_NaN = false;
21406# 1307
21407static constexpr inline float_denorm_style has_denorm = denorm_absent;
21408# 1309
21409static constexpr inline bool has_denorm_loss = false;
21410# 1312
21411static constexpr unsigned long infinity() noexcept
21412# 1313
21413{ return static_cast< unsigned long>(0); }
21414# 1316
21415static constexpr unsigned long quiet_NaN() noexcept
21416# 1317
21417{ return static_cast< unsigned long>(0); }
21418# 1320
21419static constexpr unsigned long signaling_NaN() noexcept
21420# 1321
21421{ return static_cast< unsigned long>(0); }
21422# 1324
21423static constexpr unsigned long denorm_min() noexcept
21424# 1325
21425{ return static_cast< unsigned long>(0); }
21426# 1327
21427static constexpr inline bool is_iec559 = false;
21428# 1328
21429static constexpr inline bool is_bounded = true;
21430# 1329
21431static constexpr inline bool is_modulo = true;
21432# 1331
21433static constexpr inline bool traps = true;
21434# 1332
21435static constexpr inline bool tinyness_before = false;
21436# 1333
21437static constexpr inline float_round_style round_style = round_toward_zero;
21438# 1335
21439};
21440# 1339
21441template<> struct numeric_limits< long long> {
21442# 1341
21443static constexpr inline bool is_specialized = true;
21444# 1344
21445static constexpr long long min() noexcept { return (-9223372036854775807LL) - (1); }
21446# 1347
21447static constexpr long long max() noexcept { return 9223372036854775807LL; }
21448# 1351
21449static constexpr long long lowest() noexcept { return min(); }
21450# 1354
21451static constexpr inline int digits = ((sizeof(long long) * (8)) - (((long long)(-1)) < (0)));
21452# 1356
21453static constexpr inline int digits10 = ((((sizeof(long long) * (8)) - (((long long)(-1)) < (0))) * (643L)) / (2136));
21454# 1359
21455static constexpr inline int max_digits10 = 0;
21456# 1361
21457static constexpr inline bool is_signed = true;
21458# 1362
21459static constexpr inline bool is_integer = true;
21460# 1363
21461static constexpr inline bool is_exact = true;
21462# 1364
21463static constexpr inline int radix = 2;
21464# 1367
21465static constexpr long long epsilon() noexcept { return 0; }
21466# 1370
21467static constexpr long long round_error() noexcept { return 0; }
21468# 1372
21469static constexpr inline int min_exponent = 0;
21470# 1373
21471static constexpr inline int min_exponent10 = 0;
21472# 1374
21473static constexpr inline int max_exponent = 0;
21474# 1375
21475static constexpr inline int max_exponent10 = 0;
21476# 1377
21477static constexpr inline bool has_infinity = false;
21478# 1378
21479static constexpr inline bool has_quiet_NaN = false;
21480# 1379
21481static constexpr inline bool has_signaling_NaN = false;
21482# 1380
21483static constexpr inline float_denorm_style has_denorm = denorm_absent;
21484# 1382
21485static constexpr inline bool has_denorm_loss = false;
21486# 1385
21487static constexpr long long infinity() noexcept { return static_cast< long long>(0); }
21488# 1388
21489static constexpr long long quiet_NaN() noexcept { return static_cast< long long>(0); }
21490# 1391
21491static constexpr long long signaling_NaN() noexcept
21492# 1392
21493{ return static_cast< long long>(0); }
21494# 1395
21495static constexpr long long denorm_min() noexcept { return static_cast< long long>(0); }
21496# 1397
21497static constexpr inline bool is_iec559 = false;
21498# 1398
21499static constexpr inline bool is_bounded = true;
21500# 1399
21501static constexpr inline bool is_modulo = false;
21502# 1401
21503static constexpr inline bool traps = true;
21504# 1402
21505static constexpr inline bool tinyness_before = false;
21506# 1403
21507static constexpr inline float_round_style round_style = round_toward_zero;
21508# 1405
21509};
21510# 1409
21511template<> struct numeric_limits< unsigned long long> {
21512# 1411
21513static constexpr inline bool is_specialized = true;
21514# 1414
21515static constexpr unsigned long long min() noexcept { return 0; }
21516# 1417
21517static constexpr unsigned long long max() noexcept { return ((9223372036854775807LL) * 2ULL) + (1); }
21518# 1421
21519static constexpr unsigned long long lowest() noexcept { return min(); }
21520# 1424
21521static constexpr inline int digits = ((sizeof(unsigned long long) * (8)) - (((unsigned long long)(-1)) < (0)));
21522# 1426
21523static constexpr inline int digits10 = ((((sizeof(unsigned long long) * (8)) - (((unsigned long long)(-1)) < (0))) * (643L)) / (2136));
21524# 1429
21525static constexpr inline int max_digits10 = 0;
21526# 1431
21527static constexpr inline bool is_signed = false;
21528# 1432
21529static constexpr inline bool is_integer = true;
21530# 1433
21531static constexpr inline bool is_exact = true;
21532# 1434
21533static constexpr inline int radix = 2;
21534# 1437
21535static constexpr unsigned long long epsilon() noexcept { return 0; }
21536# 1440
21537static constexpr unsigned long long round_error() noexcept { return 0; }
21538# 1442
21539static constexpr inline int min_exponent = 0;
21540# 1443
21541static constexpr inline int min_exponent10 = 0;
21542# 1444
21543static constexpr inline int max_exponent = 0;
21544# 1445
21545static constexpr inline int max_exponent10 = 0;
21546# 1447
21547static constexpr inline bool has_infinity = false;
21548# 1448
21549static constexpr inline bool has_quiet_NaN = false;
21550# 1449
21551static constexpr inline bool has_signaling_NaN = false;
21552# 1450
21553static constexpr inline float_denorm_style has_denorm = denorm_absent;
21554# 1452
21555static constexpr inline bool has_denorm_loss = false;
21556# 1455
21557static constexpr unsigned long long infinity() noexcept
21558# 1456
21559{ return static_cast< unsigned long long>(0); }
21560# 1459
21561static constexpr unsigned long long quiet_NaN() noexcept
21562# 1460
21563{ return static_cast< unsigned long long>(0); }
21564# 1463
21565static constexpr unsigned long long signaling_NaN() noexcept
21566# 1464
21567{ return static_cast< unsigned long long>(0); }
21568# 1467
21569static constexpr unsigned long long denorm_min() noexcept
21570# 1468
21571{ return static_cast< unsigned long long>(0); }
21572# 1470
21573static constexpr inline bool is_iec559 = false;
21574# 1471
21575static constexpr inline bool is_bounded = true;
21576# 1472
21577static constexpr inline bool is_modulo = true;
21578# 1474
21579static constexpr inline bool traps = true;
21580# 1475
21581static constexpr inline bool tinyness_before = false;
21582# 1476
21583static constexpr inline float_round_style round_style = round_toward_zero;
21584# 1478
21585};
21586# 1637 "/usr/include/c++/13/limits" 3
21587template<> struct numeric_limits< __int128> { static constexpr inline bool is_specialized = true; static constexpr __int128 min() noexcept { return ((((__int128)(-1)) < (0)) ? (-((((__int128)(-1)) < (0)) ? (((((__int128)1) << ((128 - (((__int128)(-1)) < (0))) - 1)) - (1)) << 1) + (1) : (~((__int128)0)))) - (1) : ((__int128)0)); } static constexpr __int128 max() noexcept { return ((((__int128)(-1)) < (0)) ? (((((__int128)1) << ((128 - (((__int128)(-1)) < (0))) - 1)) - (1)) << 1) + (1) : (~((__int128)0))); } static constexpr inline int digits = (128 - 1); static constexpr inline int digits10 = (((128 - 1) * 643L) / (2136)); static constexpr inline bool is_signed = true; static constexpr inline bool is_integer = true; static constexpr inline bool is_exact = true; static constexpr inline int radix = 2; static constexpr __int128 epsilon() noexcept { return 0; } static constexpr __int128 round_error() noexcept { return 0; } static constexpr __int128 lowest() noexcept { return min(); } static constexpr inline int max_digits10 = 0; static constexpr inline int min_exponent = 0; static constexpr inline int min_exponent10 = 0; static constexpr inline int max_exponent = 0; static constexpr inline int max_exponent10 = 0; static constexpr inline bool has_infinity = false; static constexpr inline bool has_quiet_NaN = false; static constexpr inline bool has_signaling_NaN = false; static constexpr inline float_denorm_style has_denorm = denorm_absent; static constexpr inline bool has_denorm_loss = false; static constexpr __int128 infinity() noexcept { return static_cast< __int128>(0); } static constexpr __int128 quiet_NaN() noexcept { return static_cast< __int128>(0); } static constexpr __int128 signaling_NaN() noexcept { return static_cast< __int128>(0); } static constexpr __int128 denorm_min() noexcept { return static_cast< __int128>(0); } static constexpr inline bool is_iec559 = false; static constexpr inline bool is_bounded = true; static constexpr inline bool is_modulo = false; static constexpr inline bool traps = true; static constexpr inline bool tinyness_before = false; static constexpr inline float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits< unsigned __int128> { static constexpr inline bool is_specialized = true; static constexpr unsigned __int128 min() noexcept { return 0; } static constexpr unsigned __int128 max() noexcept { return ((((unsigned __int128)(-1)) < (0)) ? (((((unsigned __int128)1) << ((128 - (((unsigned __int128)(-1)) < (0))) - 1)) - (1)) << 1) + (1) : (~((unsigned __int128)0))); } static constexpr unsigned __int128 lowest() noexcept { return min(); } static constexpr inline int max_digits10 = 0; static constexpr inline int digits = 128; static constexpr inline int digits10 = (((128) * 643L) / (2136)); static constexpr inline bool is_signed = false; static constexpr inline bool is_integer = true; static constexpr inline bool is_exact = true; static constexpr inline int radix = 2; static constexpr unsigned __int128 epsilon() noexcept { return 0; } static constexpr unsigned __int128 round_error() noexcept { return 0; } static constexpr inline int min_exponent = 0; static constexpr inline int min_exponent10 = 0; static constexpr inline int max_exponent = 0; static constexpr inline int max_exponent10 = 0; static constexpr inline bool has_infinity = false; static constexpr inline bool has_quiet_NaN = false; static constexpr inline bool has_signaling_NaN = false; static constexpr inline float_denorm_style has_denorm = denorm_absent; static constexpr inline bool has_denorm_loss = false; static constexpr unsigned __int128 infinity() noexcept { return static_cast< unsigned __int128>(0); } static constexpr unsigned __int128 quiet_NaN() noexcept { return static_cast< unsigned __int128>(0); } static constexpr unsigned __int128 signaling_NaN() noexcept { return static_cast< unsigned __int128>(0); } static constexpr unsigned __int128 denorm_min() noexcept { return static_cast< unsigned __int128>(0); } static constexpr inline bool is_iec559 = false; static constexpr inline bool is_bounded = true; static constexpr inline bool is_modulo = true; static constexpr inline bool traps = true; static constexpr inline bool tinyness_before = false; static constexpr inline float_round_style round_style = round_toward_zero; };
21588# 1670 "/usr/include/c++/13/limits" 3
21589template<> struct numeric_limits< float> {
21590# 1672
21591static constexpr inline bool is_specialized = true;
21592# 1675
21593static constexpr float min() noexcept { return (1.1754944E-38F); }
21594# 1678
21595static constexpr float max() noexcept { return (3.4028235E38F); }
21596# 1682
21597static constexpr float lowest() noexcept { return -(3.4028235E38F); }
21598# 1685
21599static constexpr inline int digits = 24;
21600# 1686
21601static constexpr inline int digits10 = 6;
21602# 1688
21603static constexpr inline int max_digits10 = ((2) + (((24) * 643L) / (2136)));
21604# 1691
21605static constexpr inline bool is_signed = true;
21606# 1692
21607static constexpr inline bool is_integer = false;
21608# 1693
21609static constexpr inline bool is_exact = false;
21610# 1694
21611static constexpr inline int radix = 2;
21612# 1697
21613static constexpr float epsilon() noexcept { return (1.1920929E-7F); }
21614# 1700
21615static constexpr float round_error() noexcept { return (0.5F); }
21616# 1702
21617static constexpr inline int min_exponent = (-125);
21618# 1703
21619static constexpr inline int min_exponent10 = (-37);
21620# 1704
21621static constexpr inline int max_exponent = 128;
21622# 1705
21623static constexpr inline int max_exponent10 = 38;
21624# 1707
21625static constexpr inline bool has_infinity = (1);
21626# 1708
21627static constexpr inline bool has_quiet_NaN = (1);
21628# 1709
21629static constexpr inline bool has_signaling_NaN = has_quiet_NaN;
21630# 1710
21631static constexpr inline float_denorm_style has_denorm = (((bool)1) ? denorm_present : denorm_absent);
21632# 1712
21633static constexpr inline bool has_denorm_loss = false;
21634# 1716
21635static constexpr float infinity() noexcept { return __builtin_huge_valf(); }
21636# 1719
21637static constexpr float quiet_NaN() noexcept { return __builtin_nanf(""); }
21638# 1722
21639static constexpr float signaling_NaN() noexcept { return __builtin_nansf(""); }
21640# 1725
21641static constexpr float denorm_min() noexcept { return (1.4E-45F); }
21642# 1727
21643static constexpr inline bool is_iec559 = (has_infinity && has_quiet_NaN && (has_denorm == (denorm_present)));
21644# 1729
21645static constexpr inline bool is_bounded = true;
21646# 1730
21647static constexpr inline bool is_modulo = false;
21648# 1732
21649static constexpr inline bool traps = false;
21650# 1733
21651static constexpr inline bool tinyness_before = false;
21652# 1735
21653static constexpr inline float_round_style round_style = round_to_nearest;
21654# 1737
21655};
21656# 1745
21657template<> struct numeric_limits< double> {
21658# 1747
21659static constexpr inline bool is_specialized = true;
21660# 1750
21661static constexpr double min() noexcept { return (double)(2.2250738585072013831E-308L); }
21662# 1753
21663static constexpr double max() noexcept { return (double)(1.7976931348623157081E308L); }
21664# 1757
21665static constexpr double lowest() noexcept { return -((double)(1.7976931348623157081E308L)); }
21666# 1760
21667static constexpr inline int digits = 53;
21668# 1761
21669static constexpr inline int digits10 = 15;
21670# 1763
21671static constexpr inline int max_digits10 = ((2) + (((53) * 643L) / (2136)));
21672# 1766
21673static constexpr inline bool is_signed = true;
21674# 1767
21675static constexpr inline bool is_integer = false;
21676# 1768
21677static constexpr inline bool is_exact = false;
21678# 1769
21679static constexpr inline int radix = 2;
21680# 1772
21681static constexpr double epsilon() noexcept { return (double)(2.2204460492503130808E-16L); }
21682# 1775
21683static constexpr double round_error() noexcept { return (0.5); }
21684# 1777
21685static constexpr inline int min_exponent = (-1021);
21686# 1778
21687static constexpr inline int min_exponent10 = (-307);
21688# 1779
21689static constexpr inline int max_exponent = 1024;
21690# 1780
21691static constexpr inline int max_exponent10 = 308;
21692# 1782
21693static constexpr inline bool has_infinity = (1);
21694# 1783
21695static constexpr inline bool has_quiet_NaN = (1);
21696# 1784
21697static constexpr inline bool has_signaling_NaN = has_quiet_NaN;
21698# 1785
21699static constexpr inline float_denorm_style has_denorm = (((bool)1) ? denorm_present : denorm_absent);
21700# 1787
21701static constexpr inline bool has_denorm_loss = false;
21702# 1791
21703static constexpr double infinity() noexcept { return __builtin_huge_val(); }
21704# 1794
21705static constexpr double quiet_NaN() noexcept { return __builtin_nan(""); }
21706# 1797
21707static constexpr double signaling_NaN() noexcept { return __builtin_nans(""); }
21708# 1800
21709static constexpr double denorm_min() noexcept { return (double)(4.940656458412465442E-324L); }
21710# 1802
21711static constexpr inline bool is_iec559 = (has_infinity && has_quiet_NaN && (has_denorm == (denorm_present)));
21712# 1804
21713static constexpr inline bool is_bounded = true;
21714# 1805
21715static constexpr inline bool is_modulo = false;
21716# 1807
21717static constexpr inline bool traps = false;
21718# 1808
21719static constexpr inline bool tinyness_before = false;
21720# 1810
21721static constexpr inline float_round_style round_style = round_to_nearest;
21722# 1812
21723};
21724# 1820
21725template<> struct numeric_limits< long double> {
21726# 1822
21727static constexpr inline bool is_specialized = true;
21728# 1825
21729static constexpr long double min() noexcept { return (3.3621031431120935063E-4932L); }
21730# 1828
21731static constexpr long double max() noexcept { return (1.189731495357231765E4932L); }
21732# 1832
21733static constexpr long double lowest() noexcept { return -(1.189731495357231765E4932L); }
21734# 1835
21735static constexpr inline int digits = 64;
21736# 1836
21737static constexpr inline int digits10 = 18;
21738# 1838
21739static constexpr inline int max_digits10 = ((2) + (((64) * 643L) / (2136)));
21740# 1841
21741static constexpr inline bool is_signed = true;
21742# 1842
21743static constexpr inline bool is_integer = false;
21744# 1843
21745static constexpr inline bool is_exact = false;
21746# 1844
21747static constexpr inline int radix = 2;
21748# 1847
21749static constexpr long double epsilon() noexcept { return (1.084202172485504434E-19L); }
21750# 1850
21751static constexpr long double round_error() noexcept { return (0.5L); }
21752# 1852
21753static constexpr inline int min_exponent = (-16381);
21754# 1853
21755static constexpr inline int min_exponent10 = (-4931);
21756# 1854
21757static constexpr inline int max_exponent = 16384;
21758# 1855
21759static constexpr inline int max_exponent10 = 4932;
21760# 1857
21761static constexpr inline bool has_infinity = (1);
21762# 1858
21763static constexpr inline bool has_quiet_NaN = (1);
21764# 1859
21765static constexpr inline bool has_signaling_NaN = has_quiet_NaN;
21766# 1860
21767static constexpr inline float_denorm_style has_denorm = (((bool)1) ? denorm_present : denorm_absent);
21768# 1862
21769static constexpr inline bool has_denorm_loss = false;
21770# 1866
21771static constexpr long double infinity() noexcept { return __builtin_huge_vall(); }
21772# 1869
21773static constexpr long double quiet_NaN() noexcept { return __builtin_nanl(""); }
21774# 1872
21775static constexpr long double signaling_NaN() noexcept { return __builtin_nansl(""); }
21776# 1875
21777static constexpr long double denorm_min() noexcept { return (3.6E-4951L); }
21778# 1877
21779static constexpr inline bool is_iec559 = (has_infinity && has_quiet_NaN && (has_denorm == (denorm_present)));
21780# 1879
21781static constexpr inline bool is_bounded = true;
21782# 1880
21783static constexpr inline bool is_modulo = false;
21784# 1882
21785static constexpr inline bool traps = false;
21786# 1883
21787static constexpr inline bool tinyness_before = false;
21788# 1885
21789static constexpr inline float_round_style round_style = round_to_nearest;
21790# 1887
21791};
21792# 2077 "/usr/include/c++/13/limits" 3
21793}
21794# 39 "/usr/include/c++/13/tr1/special_function_util.h" 3
21795namespace std __attribute((__visibility__("default"))) {
21796# 50 "/usr/include/c++/13/tr1/special_function_util.h" 3
21797namespace __detail {
21798# 55
21799template< class _Tp>
21800# 56
21801struct __floating_point_constant {
21802# 58
21803static const _Tp __value;
21804# 59
21805};
21806# 63
21807template< class _Tp>
21808# 64
21809struct __numeric_constants {
21810# 67
21811static _Tp __pi() throw()
21812# 68
21813{ return static_cast< _Tp>((3.1415926535897932385L)); }
21814# 70
21815static _Tp __pi_2() throw()
21816# 71
21817{ return static_cast< _Tp>((1.5707963267948966193L)); }
21818# 73
21819static _Tp __pi_3() throw()
21820# 74
21821{ return static_cast< _Tp>((1.0471975511965977461L)); }
21822# 76
21823static _Tp __pi_4() throw()
21824# 77
21825{ return static_cast< _Tp>((0.78539816339744830963L)); }
21826# 79
21827static _Tp __1_pi() throw()
21828# 80
21829{ return static_cast< _Tp>((0.31830988618379067154L)); }
21830# 82
21831static _Tp __2_sqrtpi() throw()
21832# 83
21833{ return static_cast< _Tp>((1.1283791670955125738L)); }
21834# 85
21835static _Tp __sqrt2() throw()
21836# 86
21837{ return static_cast< _Tp>((1.4142135623730950488L)); }
21838# 88
21839static _Tp __sqrt3() throw()
21840# 89
21841{ return static_cast< _Tp>((1.7320508075688772936L)); }
21842# 91
21843static _Tp __sqrtpio2() throw()
21844# 92
21845{ return static_cast< _Tp>((1.2533141373155002512L)); }
21846# 94
21847static _Tp __sqrt1_2() throw()
21848# 95
21849{ return static_cast< _Tp>((0.7071067811865475244L)); }
21850# 97
21851static _Tp __lnpi() throw()
21852# 98
21853{ return static_cast< _Tp>((1.1447298858494001742L)); }
21854# 100
21855static _Tp __gamma_e() throw()
21856# 101
21857{ return static_cast< _Tp>((0.5772156649015328606L)); }
21858# 103
21859static _Tp __euler() throw()
21860# 104
21861{ return static_cast< _Tp>((2.7182818284590452354L)); }
21862# 105
21863};
21864# 114 "/usr/include/c++/13/tr1/special_function_util.h" 3
21865template< class _Tp> inline bool
21866# 115
21867__isnan(_Tp __x)
21868# 116
21869{ return std::isnan(__x); }
21870# 133 "/usr/include/c++/13/tr1/special_function_util.h" 3
21871}
21872# 139
21873}
21874# 51 "/usr/include/c++/13/tr1/gamma.tcc" 3
21875namespace std __attribute((__visibility__("default"))) {
21876# 65 "/usr/include/c++/13/tr1/gamma.tcc" 3
21877namespace __detail {
21878# 76 "/usr/include/c++/13/tr1/gamma.tcc" 3
21879template< class _Tp> _Tp
21880# 78
21881__bernoulli_series(unsigned __n)
21882# 79
21883{
21884# 81
21885static const _Tp __num[28] = {((_Tp)1UL), ((-((_Tp)1UL)) / ((_Tp)2UL)), (((_Tp)1UL) / ((_Tp)6UL)), ((_Tp)0UL), ((-((_Tp)1UL)) / ((_Tp)30UL)), ((_Tp)0UL), (((_Tp)1UL) / ((_Tp)42UL)), ((_Tp)0UL), ((-((_Tp)1UL)) / ((_Tp)30UL)), ((_Tp)0UL), (((_Tp)5UL) / ((_Tp)66UL)), ((_Tp)0UL), ((-((_Tp)691UL)) / ((_Tp)2730UL)), ((_Tp)0UL), (((_Tp)7UL) / ((_Tp)6UL)), ((_Tp)0UL), ((-((_Tp)3617UL)) / ((_Tp)510UL)), ((_Tp)0UL), (((_Tp)43867UL) / ((_Tp)798UL)), ((_Tp)0UL), ((-((_Tp)174611)) / ((_Tp)330UL)), ((_Tp)0UL), (((_Tp)854513UL) / ((_Tp)138UL)), ((_Tp)0UL), ((-((_Tp)236364091UL)) / ((_Tp)2730UL)), ((_Tp)0UL), (((_Tp)8553103UL) / ((_Tp)6UL)), ((_Tp)0UL)};
21886# 98
21887if (__n == (0)) {
21888# 99
21889return (_Tp)1; }
21890# 101
21891if (__n == (1)) {
21892# 102
21893return (-((_Tp)1)) / ((_Tp)2); }
21894# 105
21895if ((__n % (2)) == (1)) {
21896# 106
21897return (_Tp)0; }
21898# 109
21899if (__n < (28)) {
21900# 110
21901return __num[__n]; }
21902# 113
21903_Tp __fact = ((_Tp)1);
21904# 114
21905if (((__n / (2)) % (2)) == (0)) {
21906# 115
21907__fact *= ((_Tp)(-1)); }
21908# 116
21909for (unsigned __k = (1); __k <= __n; ++__k) {
21910# 117
21911__fact *= (__k / (((_Tp)2) * __numeric_constants< _Tp> ::__pi())); }
21912# 118
21913__fact *= ((_Tp)2);
21914# 120
21915_Tp __sum = ((_Tp)0);
21916# 121
21917for (unsigned __i = (1); __i < (1000); ++__i)
21918# 122
21919{
21920# 123
21921_Tp __term = std::pow((_Tp)__i, -((_Tp)__n));
21922# 124
21923if (__term < std::template numeric_limits< _Tp> ::epsilon()) {
21924# 125
21925break; }
21926# 126
21927__sum += __term;
21928# 127
21929}
21930# 129
21931return __fact * __sum;
21932# 130
21933}
21934# 139 "/usr/include/c++/13/tr1/gamma.tcc" 3
21935template< class _Tp> inline _Tp
21936# 141
21937__bernoulli(int __n)
21938# 142
21939{ return __bernoulli_series< _Tp> (__n); }
21940# 153 "/usr/include/c++/13/tr1/gamma.tcc" 3
21941template< class _Tp> _Tp
21942# 155
21943__log_gamma_bernoulli(_Tp __x)
21944# 156
21945{
21946# 157
21947_Tp __lg = (((__x - ((_Tp)(0.5L))) * std::log(__x)) - __x) + (((_Tp)(0.5L)) * std::log(((_Tp)2) * __numeric_constants< _Tp> ::__pi()));
21948# 161
21949const _Tp __xx = __x * __x;
21950# 162
21951_Tp __help = ((_Tp)1) / __x;
21952# 163
21953for (unsigned __i = (1); __i < (20); ++__i)
21954# 164
21955{
21956# 165
21957const _Tp __2i = (_Tp)((2) * __i);
21958# 166
21959__help /= ((__2i * (__2i - ((_Tp)1))) * __xx);
21960# 167
21961__lg += (__bernoulli< _Tp> ((2) * __i) * __help);
21962# 168
21963}
21964# 170
21965return __lg;
21966# 171
21967}
21968# 181 "/usr/include/c++/13/tr1/gamma.tcc" 3
21969template< class _Tp> _Tp
21970# 183
21971__log_gamma_lanczos(_Tp __x)
21972# 184
21973{
21974# 185
21975const _Tp __xm1 = __x - ((_Tp)1);
21976# 187
21977static const _Tp __lanczos_cheb_7[9] = {((_Tp)(0.99999999999980993226L)), ((_Tp)(676.52036812188509857L)), ((_Tp)(-(1259.1392167224028704L))), ((_Tp)(771.32342877765307887L)), ((_Tp)(-(176.61502916214059906L))), ((_Tp)(12.507343278686904814L)), ((_Tp)(-(0.1385710952657201169L))), ((_Tp)(9.9843695780195708595E-6L)), ((_Tp)(1.5056327351493115584E-7L))};
21978# 199
21979static const _Tp __LOGROOT2PI = ((_Tp)(0.9189385332046727418L));
21980# 202
21981_Tp __sum = (__lanczos_cheb_7[0]);
21982# 203
21983for (unsigned __k = (1); __k < (9); ++__k) {
21984# 204
21985__sum += ((__lanczos_cheb_7[__k]) / (__xm1 + __k)); }
21986# 206
21987const _Tp __term1 = (__xm1 + ((_Tp)(0.5L))) * std::log((__xm1 + ((_Tp)(7.5L))) / __numeric_constants< _Tp> ::__euler());
21988# 209
21989const _Tp __term2 = __LOGROOT2PI + std::log(__sum);
21990# 210
21991const _Tp __result = __term1 + (__term2 - ((_Tp)7));
21992# 212
21993return __result;
21994# 213
21995}
21996# 225 "/usr/include/c++/13/tr1/gamma.tcc" 3
21997template< class _Tp> _Tp
21998# 227
21999__log_gamma(_Tp __x)
22000# 228
22001{
22002# 229
22003if (__x > ((_Tp)(0.5L))) {
22004# 230
22005return __log_gamma_lanczos(__x); } else
22006# 232
22007{
22008# 233
22009const _Tp __sin_fact = std::abs(std::sin(__numeric_constants< _Tp> ::__pi() * __x));
22010# 235
22011if (__sin_fact == ((_Tp)0)) {
22012# 236
22013std::__throw_domain_error("Argument is nonpositive integer in __log_gamma"); }
22014# 238
22015return (__numeric_constants< _Tp> ::__lnpi() - std::log(__sin_fact)) - __log_gamma_lanczos(((_Tp)1) - __x);
22016# 241
22017}
22018# 242
22019}
22020# 252 "/usr/include/c++/13/tr1/gamma.tcc" 3
22021template< class _Tp> _Tp
22022# 254
22023__log_gamma_sign(_Tp __x)
22024# 255
22025{
22026# 256
22027if (__x > ((_Tp)0)) {
22028# 257
22029return (_Tp)1; } else
22030# 259
22031{
22032# 260
22033const _Tp __sin_fact = std::sin(__numeric_constants< _Tp> ::__pi() * __x);
22034# 262
22035if (__sin_fact > ((_Tp)0)) {
22036# 263
22037return 1; } else {
22038# 264
22039if (__sin_fact < ((_Tp)0)) {
22040# 265
22041return -((_Tp)1); } else {
22042# 267
22043return (_Tp)0; } }
22044# 268
22045}
22046# 269
22047}
22048# 283 "/usr/include/c++/13/tr1/gamma.tcc" 3
22049template< class _Tp> _Tp
22050# 285
22051__log_bincoef(unsigned __n, unsigned __k)
22052# 286
22053{
22054# 288
22055static const _Tp __max_bincoeff = (std::template numeric_limits< _Tp> ::max_exponent10 * std::log((_Tp)10)) - ((_Tp)1);
22056# 292
22057_Tp __coeff = (std::lgamma((_Tp)((1) + __n)) - std::lgamma((_Tp)((1) + __k))) - std::lgamma((_Tp)(((1) + __n) - __k));
22058# 300
22059}
22060# 314 "/usr/include/c++/13/tr1/gamma.tcc" 3
22061template< class _Tp> _Tp
22062# 316
22063__bincoef(unsigned __n, unsigned __k)
22064# 317
22065{
22066# 319
22067static const _Tp __max_bincoeff = (std::template numeric_limits< _Tp> ::max_exponent10 * std::log((_Tp)10)) - ((_Tp)1);
22068# 323
22069const _Tp __log_coeff = __log_bincoef< _Tp> (__n, __k);
22070# 324
22071if (__log_coeff > __max_bincoeff) {
22072# 325
22073return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22074# 327
22075return std::exp(__log_coeff); }
22076# 328
22077}
22078# 337 "/usr/include/c++/13/tr1/gamma.tcc" 3
22079template< class _Tp> inline _Tp
22080# 339
22081__gamma(_Tp __x)
22082# 340
22083{ return std::exp(__log_gamma(__x)); }
22084# 356 "/usr/include/c++/13/tr1/gamma.tcc" 3
22085template< class _Tp> _Tp
22086# 358
22087__psi_series(_Tp __x)
22088# 359
22089{
22090# 360
22091_Tp __sum = (-__numeric_constants< _Tp> ::__gamma_e()) - (((_Tp)1) / __x);
22092# 361
22093const unsigned __max_iter = (100000);
22094# 362
22095for (unsigned __k = (1); __k < __max_iter; ++__k)
22096# 363
22097{
22098# 364
22099const _Tp __term = __x / (__k * (__k + __x));
22100# 365
22101__sum += __term;
22102# 366
22103if (std::abs(__term / __sum) < std::template numeric_limits< _Tp> ::epsilon()) {
22104# 367
22105break; }
22106# 368
22107}
22108# 369
22109return __sum;
22110# 370
22111}
22112# 386 "/usr/include/c++/13/tr1/gamma.tcc" 3
22113template< class _Tp> _Tp
22114# 388
22115__psi_asymp(_Tp __x)
22116# 389
22117{
22118# 390
22119_Tp __sum = std::log(__x) - (((_Tp)(0.5L)) / __x);
22120# 391
22121const _Tp __xx = __x * __x;
22122# 392
22123_Tp __xp = __xx;
22124# 393
22125const unsigned __max_iter = (100);
22126# 394
22127for (unsigned __k = (1); __k < __max_iter; ++__k)
22128# 395
22129{
22130# 396
22131const _Tp __term = __bernoulli< _Tp> ((2) * __k) / (((2) * __k) * __xp);
22132# 397
22133__sum -= __term;
22134# 398
22135if (std::abs(__term / __sum) < std::template numeric_limits< _Tp> ::epsilon()) {
22136# 399
22137break; }
22138# 400
22139__xp *= __xx;
22140# 401
22141}
22142# 402
22143return __sum;
22144# 403
22145}
22146# 417 "/usr/include/c++/13/tr1/gamma.tcc" 3
22147template< class _Tp> _Tp
22148# 419
22149__psi(_Tp __x)
22150# 420
22151{
22152# 421
22153const int __n = static_cast< int>(__x + (0.5L));
22154# 422
22155const _Tp __eps = ((_Tp)4) * std::template numeric_limits< _Tp> ::epsilon();
22156# 423
22157if ((__n <= 0) && (std::abs(__x - ((_Tp)__n)) < __eps)) {
22158# 424
22159return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22160# 425
22161if (__x < ((_Tp)0))
22162# 426
22163{
22164# 427
22165const _Tp __pi = __numeric_constants< _Tp> ::__pi();
22166# 428
22167return __psi(((_Tp)1) - __x) - ((__pi * std::cos(__pi * __x)) / std::sin(__pi * __x));
22168# 430
22169} else {
22170# 431
22171if (__x > ((_Tp)100)) {
22172# 432
22173return __psi_asymp(__x); } else {
22174# 434
22175return __psi_series(__x); } } }
22176# 435
22177}
22178# 446 "/usr/include/c++/13/tr1/gamma.tcc" 3
22179template< class _Tp> _Tp
22180# 448
22181__psi(unsigned __n, _Tp __x)
22182# 449
22183{
22184# 450
22185if (__x <= ((_Tp)0)) {
22186# 451
22187std::__throw_domain_error("Argument out of range in __psi"); } else {
22188# 453
22189if (__n == (0)) {
22190# 454
22191return __psi(__x); } else
22192# 456
22193{
22194# 457
22195const _Tp __hzeta = __hurwitz_zeta((_Tp)(__n + (1)), __x);
22196# 459
22197const _Tp __ln_nfact = std::lgamma((_Tp)(__n + (1)));
22198# 463
22199_Tp __result = std::exp(__ln_nfact) * __hzeta;
22200# 464
22201if ((__n % (2)) == (1)) {
22202# 465
22203__result = (-__result); }
22204# 466
22205return __result;
22206# 467
22207} }
22208# 468
22209}
22210# 469
22211}
22212# 476
22213}
22214# 55 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22215namespace std __attribute((__visibility__("default"))) {
22216# 71 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22217namespace __detail {
22218# 98 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22219template< class _Tp> void
22220# 100
22221__gamma_temme(_Tp __mu, _Tp &
22222# 101
22223__gam1, _Tp &__gam2, _Tp &__gampl, _Tp &__gammi)
22224# 102
22225{
22226# 104
22227__gampl = (((_Tp)1) / std::tgamma(((_Tp)1) + __mu));
22228# 105
22229__gammi = (((_Tp)1) / std::tgamma(((_Tp)1) - __mu));
22230# 111
22231if (std::abs(__mu) < std::template numeric_limits< _Tp> ::epsilon()) {
22232# 112
22233__gam1 = (-((_Tp)__numeric_constants< _Tp> ::__gamma_e())); } else {
22234# 114
22235__gam1 = ((__gammi - __gampl) / (((_Tp)2) * __mu)); }
22236# 116
22237__gam2 = ((__gammi + __gampl) / ((_Tp)2));
22238# 119
22239}
22240# 136 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22241template< class _Tp> void
22242# 138
22243__bessel_jn(_Tp __nu, _Tp __x, _Tp &
22244# 139
22245__Jnu, _Tp &__Nnu, _Tp &__Jpnu, _Tp &__Npnu)
22246# 140
22247{
22248# 141
22249if (__x == ((_Tp)0))
22250# 142
22251{
22252# 143
22253if (__nu == ((_Tp)0))
22254# 144
22255{
22256# 145
22257__Jnu = ((_Tp)1);
22258# 146
22259__Jpnu = ((_Tp)0);
22260# 147
22261} else {
22262# 148
22263if (__nu == ((_Tp)1))
22264# 149
22265{
22266# 150
22267__Jnu = ((_Tp)0);
22268# 151
22269__Jpnu = ((_Tp)(0.5L));
22270# 152
22271} else
22272# 154
22273{
22274# 155
22275__Jnu = ((_Tp)0);
22276# 156
22277__Jpnu = ((_Tp)0);
22278# 157
22279} }
22280# 158
22281__Nnu = (-std::template numeric_limits< _Tp> ::infinity());
22282# 159
22283__Npnu = std::template numeric_limits< _Tp> ::infinity();
22284# 160
22285return;
22286# 161
22287}
22288# 163
22289const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
22290# 168
22291const _Tp __fp_min = std::sqrt(std::template numeric_limits< _Tp> ::min());
22292# 169
22293const int __max_iter = 15000;
22294# 170
22295const _Tp __x_min = ((_Tp)2);
22296# 172
22297const int __nl = (__x < __x_min) ? static_cast< int>(__nu + ((_Tp)(0.5L))) : std::max(0, static_cast< int>((__nu - __x) + ((_Tp)(1.5L))));
22298# 176
22299const _Tp __mu = __nu - __nl;
22300# 177
22301const _Tp __mu2 = __mu * __mu;
22302# 178
22303const _Tp __xi = ((_Tp)1) / __x;
22304# 179
22305const _Tp __xi2 = ((_Tp)2) * __xi;
22306# 180
22307_Tp __w = __xi2 / __numeric_constants< _Tp> ::__pi();
22308# 181
22309int __isign = 1;
22310# 182
22311_Tp __h = __nu * __xi;
22312# 183
22313if (__h < __fp_min) {
22314# 184
22315__h = __fp_min; }
22316# 185
22317_Tp __b = __xi2 * __nu;
22318# 186
22319_Tp __d = ((_Tp)0);
22320# 187
22321_Tp __c = __h;
22322# 188
22323int __i;
22324# 189
22325for (__i = 1; __i <= __max_iter; ++__i)
22326# 190
22327{
22328# 191
22329__b += __xi2;
22330# 192
22331__d = (__b - __d);
22332# 193
22333if (std::abs(__d) < __fp_min) {
22334# 194
22335__d = __fp_min; }
22336# 195
22337__c = (__b - (((_Tp)1) / __c));
22338# 196
22339if (std::abs(__c) < __fp_min) {
22340# 197
22341__c = __fp_min; }
22342# 198
22343__d = (((_Tp)1) / __d);
22344# 199
22345const _Tp __del = __c * __d;
22346# 200
22347__h *= __del;
22348# 201
22349if (__d < ((_Tp)0)) {
22350# 202
22351__isign = (-__isign); }
22352# 203
22353if (std::abs(__del - ((_Tp)1)) < __eps) {
22354# 204
22355break; }
22356# 205
22357}
22358# 206
22359if (__i > __max_iter) {
22360# 207
22361std::__throw_runtime_error("Argument x too large in __bessel_jn; try asymptotic expansion."); }
22362# 209
22363_Tp __Jnul = __isign * __fp_min;
22364# 210
22365_Tp __Jpnul = __h * __Jnul;
22366# 211
22367_Tp __Jnul1 = __Jnul;
22368# 212
22369_Tp __Jpnu1 = __Jpnul;
22370# 213
22371_Tp __fact = __nu * __xi;
22372# 214
22373for (int __l = __nl; __l >= 1; --__l)
22374# 215
22375{
22376# 216
22377const _Tp __Jnutemp = (__fact * __Jnul) + __Jpnul;
22378# 217
22379__fact -= __xi;
22380# 218
22381__Jpnul = ((__fact * __Jnutemp) - __Jnul);
22382# 219
22383__Jnul = __Jnutemp;
22384# 220
22385}
22386# 221
22387if (__Jnul == ((_Tp)0)) {
22388# 222
22389__Jnul = __eps; }
22390# 223
22391_Tp __f = __Jpnul / __Jnul;
22392# 224
22393_Tp __Nmu, __Nnu1, __Npmu, __Jmu;
22394# 225
22395if (__x < __x_min)
22396# 226
22397{
22398# 227
22399const _Tp __x2 = __x / ((_Tp)2);
22400# 228
22401const _Tp __pimu = __numeric_constants< _Tp> ::__pi() * __mu;
22402# 229
22403_Tp __fact = (std::abs(__pimu) < __eps) ? (_Tp)1 : (__pimu / std::sin(__pimu));
22404# 231
22405_Tp __d = (-std::log(__x2));
22406# 232
22407_Tp __e = __mu * __d;
22408# 233
22409_Tp __fact2 = (std::abs(__e) < __eps) ? (_Tp)1 : (std::sinh(__e) / __e);
22410# 235
22411_Tp __gam1, __gam2, __gampl, __gammi;
22412# 236
22413__gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
22414# 237
22415_Tp __ff = ((((_Tp)2) / __numeric_constants< _Tp> ::__pi()) * __fact) * ((__gam1 * std::cosh(__e)) + ((__gam2 * __fact2) * __d));
22416# 239
22417__e = std::exp(__e);
22418# 240
22419_Tp __p = __e / (__numeric_constants< _Tp> ::__pi() * __gampl);
22420# 241
22421_Tp __q = ((_Tp)1) / ((__e * __numeric_constants< _Tp> ::__pi()) * __gammi);
22422# 242
22423const _Tp __pimu2 = __pimu / ((_Tp)2);
22424# 243
22425_Tp __fact3 = (std::abs(__pimu2) < __eps) ? (_Tp)1 : (std::sin(__pimu2) / __pimu2);
22426# 245
22427_Tp __r = ((__numeric_constants< _Tp> ::__pi() * __pimu2) * __fact3) * __fact3;
22428# 246
22429_Tp __c = ((_Tp)1);
22430# 247
22431__d = ((-__x2) * __x2);
22432# 248
22433_Tp __sum = __ff + (__r * __q);
22434# 249
22435_Tp __sum1 = __p;
22436# 250
22437for (__i = 1; __i <= __max_iter; ++__i)
22438# 251
22439{
22440# 252
22441__ff = ((((__i * __ff) + __p) + __q) / ((__i * __i) - __mu2));
22442# 253
22443__c *= (__d / ((_Tp)__i));
22444# 254
22445__p /= (((_Tp)__i) - __mu);
22446# 255
22447__q /= (((_Tp)__i) + __mu);
22448# 256
22449const _Tp __del = __c * (__ff + (__r * __q));
22450# 257
22451__sum += __del;
22452# 258
22453const _Tp __del1 = (__c * __p) - (__i * __del);
22454# 259
22455__sum1 += __del1;
22456# 260
22457if (std::abs(__del) < (__eps * (((_Tp)1) + std::abs(__sum)))) {
22458# 261
22459break; }
22460# 262
22461}
22462# 263
22463if (__i > __max_iter) {
22464# 264
22465std::__throw_runtime_error("Bessel y series failed to converge in __bessel_jn."); }
22466# 266
22467__Nmu = (-__sum);
22468# 267
22469__Nnu1 = ((-__sum1) * __xi2);
22470# 268
22471__Npmu = (((__mu * __xi) * __Nmu) - __Nnu1);
22472# 269
22473__Jmu = (__w / (__Npmu - (__f * __Nmu)));
22474# 270
22475} else
22476# 272
22477{
22478# 273
22479_Tp __a = ((_Tp)(0.25L)) - __mu2;
22480# 274
22481_Tp __q = ((_Tp)1);
22482# 275
22483_Tp __p = ((-__xi) / ((_Tp)2));
22484# 276
22485_Tp __br = ((_Tp)2) * __x;
22486# 277
22487_Tp __bi = ((_Tp)2);
22488# 278
22489_Tp __fact = (__a * __xi) / ((__p * __p) + (__q * __q));
22490# 279
22491_Tp __cr = __br + (__q * __fact);
22492# 280
22493_Tp __ci = __bi + (__p * __fact);
22494# 281
22495_Tp __den = (__br * __br) + (__bi * __bi);
22496# 282
22497_Tp __dr = __br / __den;
22498# 283
22499_Tp __di = (-__bi) / __den;
22500# 284
22501_Tp __dlr = (__cr * __dr) - (__ci * __di);
22502# 285
22503_Tp __dli = (__cr * __di) + (__ci * __dr);
22504# 286
22505_Tp __temp = (__p * __dlr) - (__q * __dli);
22506# 287
22507__q = ((__p * __dli) + (__q * __dlr));
22508# 288
22509__p = __temp;
22510# 289
22511int __i;
22512# 290
22513for (__i = 2; __i <= __max_iter; ++__i)
22514# 291
22515{
22516# 292
22517__a += ((_Tp)(2 * (__i - 1)));
22518# 293
22519__bi += ((_Tp)2);
22520# 294
22521__dr = ((__a * __dr) + __br);
22522# 295
22523__di = ((__a * __di) + __bi);
22524# 296
22525if ((std::abs(__dr) + std::abs(__di)) < __fp_min) {
22526# 297
22527__dr = __fp_min; }
22528# 298
22529__fact = (__a / ((__cr * __cr) + (__ci * __ci)));
22530# 299
22531__cr = (__br + (__cr * __fact));
22532# 300
22533__ci = (__bi - (__ci * __fact));
22534# 301
22535if ((std::abs(__cr) + std::abs(__ci)) < __fp_min) {
22536# 302
22537__cr = __fp_min; }
22538# 303
22539__den = ((__dr * __dr) + (__di * __di));
22540# 304
22541__dr /= __den;
22542# 305
22543__di /= (-__den);
22544# 306
22545__dlr = ((__cr * __dr) - (__ci * __di));
22546# 307
22547__dli = ((__cr * __di) + (__ci * __dr));
22548# 308
22549__temp = ((__p * __dlr) - (__q * __dli));
22550# 309
22551__q = ((__p * __dli) + (__q * __dlr));
22552# 310
22553__p = __temp;
22554# 311
22555if ((std::abs(__dlr - ((_Tp)1)) + std::abs(__dli)) < __eps) {
22556# 312
22557break; }
22558# 313
22559}
22560# 314
22561if (__i > __max_iter) {
22562# 315
22563std::__throw_runtime_error("Lentz\'s method failed in __bessel_jn."); }
22564# 317
22565const _Tp __gam = (__p - __f) / __q;
22566# 318
22567__Jmu = std::sqrt(__w / (((__p - __f) * __gam) + __q));
22568# 320
22569__Jmu = std::copysign(__Jmu, __Jnul);
22570# 325
22571__Nmu = (__gam * __Jmu);
22572# 326
22573__Npmu = ((__p + (__q / __gam)) * __Nmu);
22574# 327
22575__Nnu1 = (((__mu * __xi) * __Nmu) - __Npmu);
22576# 328
22577}
22578# 329
22579__fact = (__Jmu / __Jnul);
22580# 330
22581__Jnu = (__fact * __Jnul1);
22582# 331
22583__Jpnu = (__fact * __Jpnu1);
22584# 332
22585for (__i = 1; __i <= __nl; ++__i)
22586# 333
22587{
22588# 334
22589const _Tp __Nnutemp = (((__mu + __i) * __xi2) * __Nnu1) - __Nmu;
22590# 335
22591__Nmu = __Nnu1;
22592# 336
22593__Nnu1 = __Nnutemp;
22594# 337
22595}
22596# 338
22597__Nnu = __Nmu;
22598# 339
22599__Npnu = (((__nu * __xi) * __Nmu) - __Nnu1);
22600# 342
22601}
22602# 361 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22603template< class _Tp> void
22604# 363
22605__cyl_bessel_jn_asymp(_Tp __nu, _Tp __x, _Tp &__Jnu, _Tp &__Nnu)
22606# 364
22607{
22608# 365
22609const _Tp __mu = (((_Tp)4) * __nu) * __nu;
22610# 366
22611const _Tp __8x = ((_Tp)8) * __x;
22612# 368
22613_Tp __P = ((_Tp)0);
22614# 369
22615_Tp __Q = ((_Tp)0);
22616# 371
22617_Tp __k = ((_Tp)0);
22618# 372
22619_Tp __term = ((_Tp)1);
22620# 374
22621int __epsP = 0;
22622# 375
22623int __epsQ = 0;
22624# 377
22625_Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
22626# 379
22627do
22628# 380
22629{
22630# 381
22631__term *= ((__k == 0) ? (_Tp)1 : ((-(__mu - (((2 * __k) - 1) * ((2 * __k) - 1)))) / (__k * __8x)));
22632# 385
22633__epsP = (std::abs(__term) < (__eps * std::abs(__P)));
22634# 386
22635__P += __term;
22636# 388
22637__k++;
22638# 390
22639__term *= ((__mu - (((2 * __k) - 1) * ((2 * __k) - 1))) / (__k * __8x));
22640# 391
22641__epsQ = (std::abs(__term) < (__eps * std::abs(__Q)));
22642# 392
22643__Q += __term;
22644# 394
22645if (__epsP && __epsQ && (__k > (__nu / (2.0)))) {
22646# 395
22647break; }
22648# 397
22649__k++;
22650# 398
22651}
22652# 399
22653while (__k < 1000);
22654# 401
22655const _Tp __chi = __x - ((__nu + ((_Tp)(0.5L))) * __numeric_constants< _Tp> ::__pi_2());
22656# 404
22657const _Tp __c = std::cos(__chi);
22658# 405
22659const _Tp __s = std::sin(__chi);
22660# 407
22661const _Tp __coef = std::sqrt(((_Tp)2) / (__numeric_constants< _Tp> ::__pi() * __x));
22662# 410
22663__Jnu = (__coef * ((__c * __P) - (__s * __Q)));
22664# 411
22665__Nnu = (__coef * ((__s * __P) + (__c * __Q)));
22666# 414
22667}
22668# 444 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22669template< class _Tp> _Tp
22670# 446
22671__cyl_bessel_ij_series(_Tp __nu, _Tp __x, _Tp __sgn, unsigned
22672# 447
22673__max_iter)
22674# 448
22675{
22676# 449
22677if (__x == ((_Tp)0)) {
22678# 450
22679return (__nu == ((_Tp)0)) ? (_Tp)1 : ((_Tp)0); }
22680# 452
22681const _Tp __x2 = __x / ((_Tp)2);
22682# 453
22683_Tp __fact = __nu * std::log(__x2);
22684# 455
22685__fact -= std::lgamma(__nu + ((_Tp)1));
22686# 459
22687__fact = std::exp(__fact);
22688# 460
22689const _Tp __xx4 = (__sgn * __x2) * __x2;
22690# 461
22691_Tp __Jn = ((_Tp)1);
22692# 462
22693_Tp __term = ((_Tp)1);
22694# 464
22695for (unsigned __i = (1); __i < __max_iter; ++__i)
22696# 465
22697{
22698# 466
22699__term *= (__xx4 / (((_Tp)__i) * (__nu + ((_Tp)__i))));
22700# 467
22701__Jn += __term;
22702# 468
22703if (std::abs(__term / __Jn) < std::template numeric_limits< _Tp> ::epsilon()) {
22704# 469
22705break; }
22706# 470
22707}
22708# 472
22709return __fact * __Jn;
22710# 473
22711}
22712# 490 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22713template< class _Tp> _Tp
22714# 492
22715__cyl_bessel_j(_Tp __nu, _Tp __x)
22716# 493
22717{
22718# 494
22719if ((__nu < ((_Tp)0)) || (__x < ((_Tp)0))) {
22720# 495
22721std::__throw_domain_error("Bad argument in __cyl_bessel_j."); } else {
22722# 497
22723if (__isnan(__nu) || __isnan(__x)) {
22724# 498
22725return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22726# 499
22727if ((__x * __x) < (((_Tp)10) * (__nu + ((_Tp)1)))) {
22728# 500
22729return __cyl_bessel_ij_series(__nu, __x, -((_Tp)1), 200); } else {
22730# 501
22731if (__x > ((_Tp)1000))
22732# 502
22733{
22734# 503
22735_Tp __J_nu, __N_nu;
22736# 504
22737__cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
22738# 505
22739return __J_nu;
22740# 506
22741} else
22742# 508
22743{
22744# 509
22745_Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
22746# 510
22747__bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
22748# 511
22749return __J_nu;
22750# 512
22751} } } }
22752# 513
22753}
22754# 532 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22755template< class _Tp> _Tp
22756# 534
22757__cyl_neumann_n(_Tp __nu, _Tp __x)
22758# 535
22759{
22760# 536
22761if ((__nu < ((_Tp)0)) || (__x < ((_Tp)0))) {
22762# 537
22763std::__throw_domain_error("Bad argument in __cyl_neumann_n."); } else {
22764# 539
22765if (__isnan(__nu) || __isnan(__x)) {
22766# 540
22767return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22768# 541
22769if (__x > ((_Tp)1000))
22770# 542
22771{
22772# 543
22773_Tp __J_nu, __N_nu;
22774# 544
22775__cyl_bessel_jn_asymp(__nu, __x, __J_nu, __N_nu);
22776# 545
22777return __N_nu;
22778# 546
22779} else
22780# 548
22781{
22782# 549
22783_Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
22784# 550
22785__bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
22786# 551
22787return __N_nu;
22788# 552
22789} } }
22790# 553
22791}
22792# 569 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22793template< class _Tp> void
22794# 571
22795__sph_bessel_jn(unsigned __n, _Tp __x, _Tp &
22796# 572
22797__j_n, _Tp &__n_n, _Tp &__jp_n, _Tp &__np_n)
22798# 573
22799{
22800# 574
22801const _Tp __nu = ((_Tp)__n) + ((_Tp)(0.5L));
22802# 576
22803_Tp __J_nu, __N_nu, __Jp_nu, __Np_nu;
22804# 577
22805__bessel_jn(__nu, __x, __J_nu, __N_nu, __Jp_nu, __Np_nu);
22806# 579
22807const _Tp __factor = __numeric_constants< _Tp> ::__sqrtpio2() / std::sqrt(__x);
22808# 582
22809__j_n = (__factor * __J_nu);
22810# 583
22811__n_n = (__factor * __N_nu);
22812# 584
22813__jp_n = ((__factor * __Jp_nu) - (__j_n / (((_Tp)2) * __x)));
22814# 585
22815__np_n = ((__factor * __Np_nu) - (__n_n / (((_Tp)2) * __x)));
22816# 588
22817}
22818# 604 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22819template< class _Tp> _Tp
22820# 606
22821__sph_bessel(unsigned __n, _Tp __x)
22822# 607
22823{
22824# 608
22825if (__x < ((_Tp)0)) {
22826# 609
22827std::__throw_domain_error("Bad argument in __sph_bessel."); } else {
22828# 611
22829if (__isnan(__x)) {
22830# 612
22831return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22832# 613
22833if (__x == ((_Tp)0))
22834# 614
22835{
22836# 615
22837if (__n == (0)) {
22838# 616
22839return (_Tp)1; } else {
22840# 618
22841return (_Tp)0; }
22842# 619
22843} else
22844# 621
22845{
22846# 622
22847_Tp __j_n, __n_n, __jp_n, __np_n;
22848# 623
22849__sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
22850# 624
22851return __j_n;
22852# 625
22853} } }
22854# 626
22855}
22856# 642 "/usr/include/c++/13/tr1/bessel_function.tcc" 3
22857template< class _Tp> _Tp
22858# 644
22859__sph_neumann(unsigned __n, _Tp __x)
22860# 645
22861{
22862# 646
22863if (__x < ((_Tp)0)) {
22864# 647
22865std::__throw_domain_error("Bad argument in __sph_neumann."); } else {
22866# 649
22867if (__isnan(__x)) {
22868# 650
22869return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22870# 651
22871if (__x == ((_Tp)0)) {
22872# 652
22873return -std::template numeric_limits< _Tp> ::infinity(); } else
22874# 654
22875{
22876# 655
22877_Tp __j_n, __n_n, __jp_n, __np_n;
22878# 656
22879__sph_bessel_jn(__n, __x, __j_n, __n_n, __jp_n, __np_n);
22880# 657
22881return __n_n;
22882# 658
22883} } }
22884# 659
22885}
22886# 660
22887}
22888# 667
22889}
22890# 49 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22891namespace std __attribute((__visibility__("default"))) {
22892# 65 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22893namespace __detail {
22894# 79 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22895template< class _Tp> _Tp
22896# 81
22897__beta_gamma(_Tp __x, _Tp __y)
22898# 82
22899{
22900# 84
22901_Tp __bet;
22902# 86
22903if (__x > __y)
22904# 87
22905{
22906# 88
22907__bet = (std::tgamma(__x) / std::tgamma(__x + __y));
22908# 90
22909__bet *= std::tgamma(__y);
22910# 91
22911} else
22912# 93
22913{
22914# 94
22915__bet = (std::tgamma(__y) / std::tgamma(__x + __y));
22916# 96
22917__bet *= std::tgamma(__x);
22918# 97
22919}
22920# 111 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22921return __bet;
22922# 112
22923}
22924# 127 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22925template< class _Tp> _Tp
22926# 129
22927__beta_lgamma(_Tp __x, _Tp __y)
22928# 130
22929{
22930# 132
22931_Tp __bet = (std::lgamma(__x) + std::lgamma(__y)) - std::lgamma(__x + __y);
22932# 140
22933__bet = std::exp(__bet);
22934# 141
22935return __bet;
22936# 142
22937}
22938# 158 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22939template< class _Tp> _Tp
22940# 160
22941__beta_product(_Tp __x, _Tp __y)
22942# 161
22943{
22944# 163
22945_Tp __bet = (__x + __y) / (__x * __y);
22946# 165
22947unsigned __max_iter = (1000000);
22948# 166
22949for (unsigned __k = (1); __k < __max_iter; ++__k)
22950# 167
22951{
22952# 168
22953_Tp __term = (((_Tp)1) + ((__x + __y) / __k)) / ((((_Tp)1) + (__x / __k)) * (((_Tp)1) + (__y / __k)));
22954# 170
22955__bet *= __term;
22956# 171
22957}
22958# 173
22959return __bet;
22960# 174
22961}
22962# 189 "/usr/include/c++/13/tr1/beta_function.tcc" 3
22963template< class _Tp> inline _Tp
22964# 191
22965__beta(_Tp __x, _Tp __y)
22966# 192
22967{
22968# 193
22969if (__isnan(__x) || __isnan(__y)) {
22970# 194
22971return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
22972# 196
22973return __beta_lgamma(__x, __y); }
22974# 197
22975}
22976# 198
22977}
22978# 205
22979}
22980# 45 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
22981namespace std __attribute((__visibility__("default"))) {
22982# 59 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
22983namespace __detail {
22984# 76 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
22985template< class _Tp> _Tp
22986# 78
22987__ellint_rf(_Tp __x, _Tp __y, _Tp __z)
22988# 79
22989{
22990# 80
22991const _Tp __min = std::template numeric_limits< _Tp> ::min();
22992# 81
22993const _Tp __lolim = ((_Tp)5) * __min;
22994# 83
22995if (((__x < ((_Tp)0)) || (__y < ((_Tp)0))) || (__z < ((_Tp)0))) {
22996# 84
22997std::__throw_domain_error("Argument less than zero in __ellint_rf."); } else {
22998# 86
22999if ((((__x + __y) < __lolim) || ((__x + __z) < __lolim)) || ((__y + __z) < __lolim)) {
23000# 88
23001std::__throw_domain_error("Argument too small in __ellint_rf"); } else
23002# 90
23003{
23004# 91
23005const _Tp __c0 = (((_Tp)1) / ((_Tp)4));
23006# 92
23007const _Tp __c1 = (((_Tp)1) / ((_Tp)24));
23008# 93
23009const _Tp __c2 = (((_Tp)1) / ((_Tp)10));
23010# 94
23011const _Tp __c3 = (((_Tp)3) / ((_Tp)44));
23012# 95
23013const _Tp __c4 = (((_Tp)1) / ((_Tp)14));
23014# 97
23015_Tp __xn = __x;
23016# 98
23017_Tp __yn = __y;
23018# 99
23019_Tp __zn = __z;
23020# 101
23021const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23022# 102
23023const _Tp __errtol = std::pow(__eps, ((_Tp)1) / ((_Tp)6));
23024# 103
23025_Tp __mu;
23026# 104
23027_Tp __xndev, __yndev, __zndev;
23028# 106
23029const unsigned __max_iter = (100);
23030# 107
23031for (unsigned __iter = (0); __iter < __max_iter; ++__iter)
23032# 108
23033{
23034# 109
23035__mu = (((__xn + __yn) + __zn) / ((_Tp)3));
23036# 110
23037__xndev = (2 - ((__mu + __xn) / __mu));
23038# 111
23039__yndev = (2 - ((__mu + __yn) / __mu));
23040# 112
23041__zndev = (2 - ((__mu + __zn) / __mu));
23042# 113
23043_Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
23044# 114
23045__epsilon = std::max(__epsilon, std::abs(__zndev));
23046# 115
23047if (__epsilon < __errtol) {
23048# 116
23049break; }
23050# 117
23051const _Tp __xnroot = std::sqrt(__xn);
23052# 118
23053const _Tp __ynroot = std::sqrt(__yn);
23054# 119
23055const _Tp __znroot = std::sqrt(__zn);
23056# 120
23057const _Tp __lambda = (__xnroot * (__ynroot + __znroot)) + (__ynroot * __znroot);
23058# 122
23059__xn = (__c0 * (__xn + __lambda));
23060# 123
23061__yn = (__c0 * (__yn + __lambda));
23062# 124
23063__zn = (__c0 * (__zn + __lambda));
23064# 125
23065}
23066# 127
23067const _Tp __e2 = (__xndev * __yndev) - (__zndev * __zndev);
23068# 128
23069const _Tp __e3 = (__xndev * __yndev) * __zndev;
23070# 129
23071const _Tp __s = (((_Tp)1) + ((((__c1 * __e2) - __c2) - (__c3 * __e3)) * __e2)) + (__c4 * __e3);
23072# 132
23073return __s / std::sqrt(__mu);
23074# 133
23075} }
23076# 134
23077}
23078# 153 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23079template< class _Tp> _Tp
23080# 155
23081__comp_ellint_1_series(_Tp __k)
23082# 156
23083{
23084# 158
23085const _Tp __kk = __k * __k;
23086# 160
23087_Tp __term = __kk / ((_Tp)4);
23088# 161
23089_Tp __sum = ((_Tp)1) + __term;
23090# 163
23091const unsigned __max_iter = (1000);
23092# 164
23093for (unsigned __i = (2); __i < __max_iter; ++__i)
23094# 165
23095{
23096# 166
23097__term *= (((((2) * __i) - (1)) * __kk) / ((2) * __i));
23098# 167
23099if (__term < std::template numeric_limits< _Tp> ::epsilon()) {
23100# 168
23101break; }
23102# 169
23103__sum += __term;
23104# 170
23105}
23106# 172
23107return __numeric_constants< _Tp> ::__pi_2() * __sum;
23108# 173
23109}
23110# 191 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23111template< class _Tp> _Tp
23112# 193
23113__comp_ellint_1(_Tp __k)
23114# 194
23115{
23116# 196
23117if (__isnan(__k)) {
23118# 197
23119return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23120# 198
23121if (std::abs(__k) >= ((_Tp)1)) {
23122# 199
23123return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23124# 201
23125return __ellint_rf((_Tp)0, ((_Tp)1) - (__k * __k), (_Tp)1); } }
23126# 202
23127}
23128# 219 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23129template< class _Tp> _Tp
23130# 221
23131__ellint_1(_Tp __k, _Tp __phi)
23132# 222
23133{
23134# 224
23135if (__isnan(__k) || __isnan(__phi)) {
23136# 225
23137return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23138# 226
23139if (std::abs(__k) > ((_Tp)1)) {
23140# 227
23141std::__throw_domain_error("Bad argument in __ellint_1."); } else
23142# 229
23143{
23144# 231
23145const int __n = std::floor((__phi / __numeric_constants< _Tp> ::__pi()) + ((_Tp)(0.5L)));
23146# 233
23147const _Tp __phi_red = __phi - (__n * __numeric_constants< _Tp> ::__pi());
23148# 236
23149const _Tp __s = std::sin(__phi_red);
23150# 237
23151const _Tp __c = std::cos(__phi_red);
23152# 239
23153const _Tp __F = __s * __ellint_rf(__c * __c, ((_Tp)1) - (((__k * __k) * __s) * __s), (_Tp)1);
23154# 243
23155if (__n == 0) {
23156# 244
23157return __F; } else {
23158# 246
23159return __F + ((((_Tp)2) * __n) * __comp_ellint_1(__k)); }
23160# 247
23161} }
23162# 248
23163}
23164# 266 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23165template< class _Tp> _Tp
23166# 268
23167__comp_ellint_2_series(_Tp __k)
23168# 269
23169{
23170# 271
23171const _Tp __kk = __k * __k;
23172# 273
23173_Tp __term = __kk;
23174# 274
23175_Tp __sum = __term;
23176# 276
23177const unsigned __max_iter = (1000);
23178# 277
23179for (unsigned __i = (2); __i < __max_iter; ++__i)
23180# 278
23181{
23182# 279
23183const _Tp __i2m = ((2) * __i) - (1);
23184# 280
23185const _Tp __i2 = (2) * __i;
23186# 281
23187__term *= (((__i2m * __i2m) * __kk) / (__i2 * __i2));
23188# 282
23189if (__term < std::template numeric_limits< _Tp> ::epsilon()) {
23190# 283
23191break; }
23192# 284
23193__sum += (__term / __i2m);
23194# 285
23195}
23196# 287
23197return __numeric_constants< _Tp> ::__pi_2() * (((_Tp)1) - __sum);
23198# 288
23199}
23200# 314 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23201template< class _Tp> _Tp
23202# 316
23203__ellint_rd(_Tp __x, _Tp __y, _Tp __z)
23204# 317
23205{
23206# 318
23207const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23208# 319
23209const _Tp __errtol = std::pow(__eps / ((_Tp)8), ((_Tp)1) / ((_Tp)6));
23210# 320
23211const _Tp __max = std::template numeric_limits< _Tp> ::max();
23212# 321
23213const _Tp __lolim = ((_Tp)2) / std::pow(__max, ((_Tp)2) / ((_Tp)3));
23214# 323
23215if ((__x < ((_Tp)0)) || (__y < ((_Tp)0))) {
23216# 324
23217std::__throw_domain_error("Argument less than zero in __ellint_rd."); } else {
23218# 326
23219if (((__x + __y) < __lolim) || (__z < __lolim)) {
23220# 327
23221std::__throw_domain_error("Argument too small in __ellint_rd."); } else
23222# 330
23223{
23224# 331
23225const _Tp __c0 = (((_Tp)1) / ((_Tp)4));
23226# 332
23227const _Tp __c1 = (((_Tp)3) / ((_Tp)14));
23228# 333
23229const _Tp __c2 = (((_Tp)1) / ((_Tp)6));
23230# 334
23231const _Tp __c3 = (((_Tp)9) / ((_Tp)22));
23232# 335
23233const _Tp __c4 = (((_Tp)3) / ((_Tp)26));
23234# 337
23235_Tp __xn = __x;
23236# 338
23237_Tp __yn = __y;
23238# 339
23239_Tp __zn = __z;
23240# 340
23241_Tp __sigma = ((_Tp)0);
23242# 341
23243_Tp __power4 = ((_Tp)1);
23244# 343
23245_Tp __mu;
23246# 344
23247_Tp __xndev, __yndev, __zndev;
23248# 346
23249const unsigned __max_iter = (100);
23250# 347
23251for (unsigned __iter = (0); __iter < __max_iter; ++__iter)
23252# 348
23253{
23254# 349
23255__mu = (((__xn + __yn) + (((_Tp)3) * __zn)) / ((_Tp)5));
23256# 350
23257__xndev = ((__mu - __xn) / __mu);
23258# 351
23259__yndev = ((__mu - __yn) / __mu);
23260# 352
23261__zndev = ((__mu - __zn) / __mu);
23262# 353
23263_Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
23264# 354
23265__epsilon = std::max(__epsilon, std::abs(__zndev));
23266# 355
23267if (__epsilon < __errtol) {
23268# 356
23269break; }
23270# 357
23271_Tp __xnroot = std::sqrt(__xn);
23272# 358
23273_Tp __ynroot = std::sqrt(__yn);
23274# 359
23275_Tp __znroot = std::sqrt(__zn);
23276# 360
23277_Tp __lambda = (__xnroot * (__ynroot + __znroot)) + (__ynroot * __znroot);
23278# 362
23279__sigma += (__power4 / (__znroot * (__zn + __lambda)));
23280# 363
23281__power4 *= __c0;
23282# 364
23283__xn = (__c0 * (__xn + __lambda));
23284# 365
23285__yn = (__c0 * (__yn + __lambda));
23286# 366
23287__zn = (__c0 * (__zn + __lambda));
23288# 367
23289}
23290# 369
23291_Tp __ea = __xndev * __yndev;
23292# 370
23293_Tp __eb = __zndev * __zndev;
23294# 371
23295_Tp __ec = __ea - __eb;
23296# 372
23297_Tp __ed = __ea - (((_Tp)6) * __eb);
23298# 373
23299_Tp __ef = (__ed + __ec) + __ec;
23300# 374
23301_Tp __s1 = __ed * (((-__c1) + ((__c3 * __ed) / ((_Tp)3))) - ((((((_Tp)3) * __c4) * __zndev) * __ef) / ((_Tp)2)));
23302# 377
23303_Tp __s2 = __zndev * ((__c2 * __ef) + (__zndev * ((((-__c3) * __ec) - (__zndev * __c4)) - __ea)));
23304# 381
23305return (((_Tp)3) * __sigma) + ((__power4 * ((((_Tp)1) + __s1) + __s2)) / (__mu * std::sqrt(__mu)));
23306# 383
23307} }
23308# 384
23309}
23310# 399 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23311template< class _Tp> _Tp
23312# 401
23313__comp_ellint_2(_Tp __k)
23314# 402
23315{
23316# 404
23317if (__isnan(__k)) {
23318# 405
23319return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23320# 406
23321if (std::abs(__k) == 1) {
23322# 407
23323return (_Tp)1; } else {
23324# 408
23325if (std::abs(__k) > ((_Tp)1)) {
23326# 409
23327std::__throw_domain_error("Bad argument in __comp_ellint_2."); } else
23328# 411
23329{
23330# 412
23331const _Tp __kk = __k * __k;
23332# 414
23333return __ellint_rf((_Tp)0, ((_Tp)1) - __kk, (_Tp)1) - ((__kk * __ellint_rd((_Tp)0, ((_Tp)1) - __kk, (_Tp)1)) / ((_Tp)3));
23334# 416
23335} } }
23336# 417
23337}
23338# 433 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23339template< class _Tp> _Tp
23340# 435
23341__ellint_2(_Tp __k, _Tp __phi)
23342# 436
23343{
23344# 438
23345if (__isnan(__k) || __isnan(__phi)) {
23346# 439
23347return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23348# 440
23349if (std::abs(__k) > ((_Tp)1)) {
23350# 441
23351std::__throw_domain_error("Bad argument in __ellint_2."); } else
23352# 443
23353{
23354# 445
23355const int __n = std::floor((__phi / __numeric_constants< _Tp> ::__pi()) + ((_Tp)(0.5L)));
23356# 447
23357const _Tp __phi_red = __phi - (__n * __numeric_constants< _Tp> ::__pi());
23358# 450
23359const _Tp __kk = __k * __k;
23360# 451
23361const _Tp __s = std::sin(__phi_red);
23362# 452
23363const _Tp __ss = __s * __s;
23364# 453
23365const _Tp __sss = __ss * __s;
23366# 454
23367const _Tp __c = std::cos(__phi_red);
23368# 455
23369const _Tp __cc = __c * __c;
23370# 457
23371const _Tp __E = (__s * __ellint_rf(__cc, ((_Tp)1) - (__kk * __ss), (_Tp)1)) - (((__kk * __sss) * __ellint_rd(__cc, ((_Tp)1) - (__kk * __ss), (_Tp)1)) / ((_Tp)3));
23372# 463
23373if (__n == 0) {
23374# 464
23375return __E; } else {
23376# 466
23377return __E + ((((_Tp)2) * __n) * __comp_ellint_2(__k)); }
23378# 467
23379} }
23380# 468
23381}
23382# 492 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23383template< class _Tp> _Tp
23384# 494
23385__ellint_rc(_Tp __x, _Tp __y)
23386# 495
23387{
23388# 496
23389const _Tp __min = std::template numeric_limits< _Tp> ::min();
23390# 497
23391const _Tp __lolim = ((_Tp)5) * __min;
23392# 499
23393if (((__x < ((_Tp)0)) || (__y < ((_Tp)0))) || ((__x + __y) < __lolim)) {
23394# 500
23395std::__throw_domain_error("Argument less than zero in __ellint_rc."); } else
23396# 503
23397{
23398# 504
23399const _Tp __c0 = (((_Tp)1) / ((_Tp)4));
23400# 505
23401const _Tp __c1 = (((_Tp)1) / ((_Tp)7));
23402# 506
23403const _Tp __c2 = (((_Tp)9) / ((_Tp)22));
23404# 507
23405const _Tp __c3 = (((_Tp)3) / ((_Tp)10));
23406# 508
23407const _Tp __c4 = (((_Tp)3) / ((_Tp)8));
23408# 510
23409_Tp __xn = __x;
23410# 511
23411_Tp __yn = __y;
23412# 513
23413const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23414# 514
23415const _Tp __errtol = std::pow(__eps / ((_Tp)30), ((_Tp)1) / ((_Tp)6));
23416# 515
23417_Tp __mu;
23418# 516
23419_Tp __sn;
23420# 518
23421const unsigned __max_iter = (100);
23422# 519
23423for (unsigned __iter = (0); __iter < __max_iter; ++__iter)
23424# 520
23425{
23426# 521
23427__mu = ((__xn + (((_Tp)2) * __yn)) / ((_Tp)3));
23428# 522
23429__sn = (((__yn + __mu) / __mu) - ((_Tp)2));
23430# 523
23431if (std::abs(__sn) < __errtol) {
23432# 524
23433break; }
23434# 525
23435const _Tp __lambda = ((((_Tp)2) * std::sqrt(__xn)) * std::sqrt(__yn)) + __yn;
23436# 527
23437__xn = (__c0 * (__xn + __lambda));
23438# 528
23439__yn = (__c0 * (__yn + __lambda));
23440# 529
23441}
23442# 531
23443_Tp __s = (__sn * __sn) * (__c3 + (__sn * (__c1 + (__sn * (__c4 + (__sn * __c2))))));
23444# 534
23445return (((_Tp)1) + __s) / std::sqrt(__mu);
23446# 535
23447}
23448# 536
23449}
23450# 561 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23451template< class _Tp> _Tp
23452# 563
23453__ellint_rj(_Tp __x, _Tp __y, _Tp __z, _Tp __p)
23454# 564
23455{
23456# 565
23457const _Tp __min = std::template numeric_limits< _Tp> ::min();
23458# 566
23459const _Tp __lolim = std::pow(((_Tp)5) * __min, ((_Tp)1) / ((_Tp)3));
23460# 568
23461if (((__x < ((_Tp)0)) || (__y < ((_Tp)0))) || (__z < ((_Tp)0))) {
23462# 569
23463std::__throw_domain_error("Argument less than zero in __ellint_rj."); } else {
23464# 571
23465if (((((__x + __y) < __lolim) || ((__x + __z) < __lolim)) || ((__y + __z) < __lolim)) || (__p < __lolim)) {
23466# 573
23467std::__throw_domain_error("Argument too small in __ellint_rj"); } else
23468# 576
23469{
23470# 577
23471const _Tp __c0 = (((_Tp)1) / ((_Tp)4));
23472# 578
23473const _Tp __c1 = (((_Tp)3) / ((_Tp)14));
23474# 579
23475const _Tp __c2 = (((_Tp)1) / ((_Tp)3));
23476# 580
23477const _Tp __c3 = (((_Tp)3) / ((_Tp)22));
23478# 581
23479const _Tp __c4 = (((_Tp)3) / ((_Tp)26));
23480# 583
23481_Tp __xn = __x;
23482# 584
23483_Tp __yn = __y;
23484# 585
23485_Tp __zn = __z;
23486# 586
23487_Tp __pn = __p;
23488# 587
23489_Tp __sigma = ((_Tp)0);
23490# 588
23491_Tp __power4 = ((_Tp)1);
23492# 590
23493const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23494# 591
23495const _Tp __errtol = std::pow(__eps / ((_Tp)8), ((_Tp)1) / ((_Tp)6));
23496# 593
23497_Tp __mu;
23498# 594
23499_Tp __xndev, __yndev, __zndev, __pndev;
23500# 596
23501const unsigned __max_iter = (100);
23502# 597
23503for (unsigned __iter = (0); __iter < __max_iter; ++__iter)
23504# 598
23505{
23506# 599
23507__mu = ((((__xn + __yn) + __zn) + (((_Tp)2) * __pn)) / ((_Tp)5));
23508# 600
23509__xndev = ((__mu - __xn) / __mu);
23510# 601
23511__yndev = ((__mu - __yn) / __mu);
23512# 602
23513__zndev = ((__mu - __zn) / __mu);
23514# 603
23515__pndev = ((__mu - __pn) / __mu);
23516# 604
23517_Tp __epsilon = std::max(std::abs(__xndev), std::abs(__yndev));
23518# 605
23519__epsilon = std::max(__epsilon, std::abs(__zndev));
23520# 606
23521__epsilon = std::max(__epsilon, std::abs(__pndev));
23522# 607
23523if (__epsilon < __errtol) {
23524# 608
23525break; }
23526# 609
23527const _Tp __xnroot = std::sqrt(__xn);
23528# 610
23529const _Tp __ynroot = std::sqrt(__yn);
23530# 611
23531const _Tp __znroot = std::sqrt(__zn);
23532# 612
23533const _Tp __lambda = (__xnroot * (__ynroot + __znroot)) + (__ynroot * __znroot);
23534# 614
23535const _Tp __alpha1 = (__pn * ((__xnroot + __ynroot) + __znroot)) + ((__xnroot * __ynroot) * __znroot);
23536# 616
23537const _Tp __alpha2 = __alpha1 * __alpha1;
23538# 617
23539const _Tp __beta = (__pn * (__pn + __lambda)) * (__pn + __lambda);
23540# 619
23541__sigma += (__power4 * __ellint_rc(__alpha2, __beta));
23542# 620
23543__power4 *= __c0;
23544# 621
23545__xn = (__c0 * (__xn + __lambda));
23546# 622
23547__yn = (__c0 * (__yn + __lambda));
23548# 623
23549__zn = (__c0 * (__zn + __lambda));
23550# 624
23551__pn = (__c0 * (__pn + __lambda));
23552# 625
23553}
23554# 627
23555_Tp __ea = (__xndev * (__yndev + __zndev)) + (__yndev * __zndev);
23556# 628
23557_Tp __eb = (__xndev * __yndev) * __zndev;
23558# 629
23559_Tp __ec = __pndev * __pndev;
23560# 630
23561_Tp __e2 = __ea - (((_Tp)3) * __ec);
23562# 631
23563_Tp __e3 = __eb + ((((_Tp)2) * __pndev) * (__ea - __ec));
23564# 632
23565_Tp __s1 = ((_Tp)1) + (__e2 * (((-__c1) + (((((_Tp)3) * __c3) * __e2) / ((_Tp)4))) - (((((_Tp)3) * __c4) * __e3) / ((_Tp)2))));
23566# 634
23567_Tp __s2 = __eb * ((__c2 / ((_Tp)2)) + (__pndev * (((-__c3) - __c3) + (__pndev * __c4))));
23568# 636
23569_Tp __s3 = ((__pndev * __ea) * (__c2 - (__pndev * __c3))) - ((__c2 * __pndev) * __ec);
23570# 639
23571return (((_Tp)3) * __sigma) + ((__power4 * ((__s1 + __s2) + __s3)) / (__mu * std::sqrt(__mu)));
23572# 641
23573} }
23574# 642
23575}
23576# 661 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23577template< class _Tp> _Tp
23578# 663
23579__comp_ellint_3(_Tp __k, _Tp __nu)
23580# 664
23581{
23582# 666
23583if (__isnan(__k) || __isnan(__nu)) {
23584# 667
23585return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23586# 668
23587if (__nu == ((_Tp)1)) {
23588# 669
23589return std::template numeric_limits< _Tp> ::infinity(); } else {
23590# 670
23591if (std::abs(__k) > ((_Tp)1)) {
23592# 671
23593std::__throw_domain_error("Bad argument in __comp_ellint_3."); } else
23594# 673
23595{
23596# 674
23597const _Tp __kk = __k * __k;
23598# 676
23599return __ellint_rf((_Tp)0, ((_Tp)1) - __kk, (_Tp)1) + ((__nu * __ellint_rj((_Tp)0, ((_Tp)1) - __kk, (_Tp)1, ((_Tp)1) - __nu)) / ((_Tp)3));
23600# 680
23601} } }
23602# 681
23603}
23604# 701 "/usr/include/c++/13/tr1/ell_integral.tcc" 3
23605template< class _Tp> _Tp
23606# 703
23607__ellint_3(_Tp __k, _Tp __nu, _Tp __phi)
23608# 704
23609{
23610# 706
23611if ((__isnan(__k) || __isnan(__nu)) || __isnan(__phi)) {
23612# 707
23613return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
23614# 708
23615if (std::abs(__k) > ((_Tp)1)) {
23616# 709
23617std::__throw_domain_error("Bad argument in __ellint_3."); } else
23618# 711
23619{
23620# 713
23621const int __n = std::floor((__phi / __numeric_constants< _Tp> ::__pi()) + ((_Tp)(0.5L)));
23622# 715
23623const _Tp __phi_red = __phi - (__n * __numeric_constants< _Tp> ::__pi());
23624# 718
23625const _Tp __kk = __k * __k;
23626# 719
23627const _Tp __s = std::sin(__phi_red);
23628# 720
23629const _Tp __ss = __s * __s;
23630# 721
23631const _Tp __sss = __ss * __s;
23632# 722
23633const _Tp __c = std::cos(__phi_red);
23634# 723
23635const _Tp __cc = __c * __c;
23636# 725
23637const _Tp __Pi = (__s * __ellint_rf(__cc, ((_Tp)1) - (__kk * __ss), (_Tp)1)) + (((__nu * __sss) * __ellint_rj(__cc, ((_Tp)1) - (__kk * __ss), (_Tp)1, ((_Tp)1) - (__nu * __ss))) / ((_Tp)3));
23638# 731
23639if (__n == 0) {
23640# 732
23641return __Pi; } else {
23642# 734
23643return __Pi + ((((_Tp)2) * __n) * __comp_ellint_3(__k, __nu)); }
23644# 735
23645} }
23646# 736
23647}
23648# 737
23649}
23650# 743
23651}
23652# 50 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23653namespace std __attribute((__visibility__("default"))) {
23654# 64 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23655namespace __detail {
23656# 66
23657template< class _Tp> _Tp __expint_E1(_Tp);
23658# 81 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23659template< class _Tp> _Tp
23660# 83
23661__expint_E1_series(_Tp __x)
23662# 84
23663{
23664# 85
23665const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23666# 86
23667_Tp __term = ((_Tp)1);
23668# 87
23669_Tp __esum = ((_Tp)0);
23670# 88
23671_Tp __osum = ((_Tp)0);
23672# 89
23673const unsigned __max_iter = (1000);
23674# 90
23675for (unsigned __i = (1); __i < __max_iter; ++__i)
23676# 91
23677{
23678# 92
23679__term *= ((-__x) / __i);
23680# 93
23681if (std::abs(__term) < __eps) {
23682# 94
23683break; }
23684# 95
23685if (__term >= ((_Tp)0)) {
23686# 96
23687__esum += (__term / __i); } else {
23688# 98
23689__osum += (__term / __i); }
23690# 99
23691}
23692# 101
23693return (((-__esum) - __osum) - __numeric_constants< _Tp> ::__gamma_e()) - std::log(__x);
23694# 103
23695}
23696# 118 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23697template< class _Tp> _Tp
23698# 120
23699__expint_E1_asymp(_Tp __x)
23700# 121
23701{
23702# 122
23703_Tp __term = ((_Tp)1);
23704# 123
23705_Tp __esum = ((_Tp)1);
23706# 124
23707_Tp __osum = ((_Tp)0);
23708# 125
23709const unsigned __max_iter = (1000);
23710# 126
23711for (unsigned __i = (1); __i < __max_iter; ++__i)
23712# 127
23713{
23714# 128
23715_Tp __prev = __term;
23716# 129
23717__term *= ((-__i) / __x);
23718# 130
23719if (std::abs(__term) > std::abs(__prev)) {
23720# 131
23721break; }
23722# 132
23723if (__term >= ((_Tp)0)) {
23724# 133
23725__esum += __term; } else {
23726# 135
23727__osum += __term; }
23728# 136
23729}
23730# 138
23731return (std::exp(-__x) * (__esum + __osum)) / __x;
23732# 139
23733}
23734# 155 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23735template< class _Tp> _Tp
23736# 157
23737__expint_En_series(unsigned __n, _Tp __x)
23738# 158
23739{
23740# 159
23741const unsigned __max_iter = (1000);
23742# 160
23743const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23744# 161
23745const int __nm1 = __n - (1);
23746# 162
23747_Tp __ans = (__nm1 != 0) ? ((_Tp)1) / __nm1 : ((-std::log(__x)) - __numeric_constants< _Tp> ::__gamma_e());
23748# 165
23749_Tp __fact = ((_Tp)1);
23750# 166
23751for (int __i = 1; __i <= __max_iter; ++__i)
23752# 167
23753{
23754# 168
23755__fact *= ((-__x) / ((_Tp)__i));
23756# 169
23757_Tp __del;
23758# 170
23759if (__i != __nm1) {
23760# 171
23761__del = ((-__fact) / ((_Tp)(__i - __nm1))); } else
23762# 173
23763{
23764# 174
23765_Tp __psi = (-__numeric_constants< _Tp> ::gamma_e());
23766# 175
23767for (int __ii = 1; __ii <= __nm1; ++__ii) {
23768# 176
23769__psi += (((_Tp)1) / ((_Tp)__ii)); }
23770# 177
23771__del = (__fact * (__psi - std::log(__x)));
23772# 178
23773}
23774# 179
23775__ans += __del;
23776# 180
23777if (std::abs(__del) < (__eps * std::abs(__ans))) {
23778# 181
23779return __ans; }
23780# 182
23781}
23782# 183
23783std::__throw_runtime_error("Series summation failed in __expint_En_series.");
23784# 185
23785}
23786# 201 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23787template< class _Tp> _Tp
23788# 203
23789__expint_En_cont_frac(unsigned __n, _Tp __x)
23790# 204
23791{
23792# 205
23793const unsigned __max_iter = (1000);
23794# 206
23795const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
23796# 207
23797const _Tp __fp_min = std::template numeric_limits< _Tp> ::min();
23798# 208
23799const int __nm1 = __n - (1);
23800# 209
23801_Tp __b = __x + ((_Tp)__n);
23802# 210
23803_Tp __c = ((_Tp)1) / __fp_min;
23804# 211
23805_Tp __d = ((_Tp)1) / __b;
23806# 212
23807_Tp __h = __d;
23808# 213
23809for (unsigned __i = (1); __i <= __max_iter; ++__i)
23810# 214
23811{
23812# 215
23813_Tp __a = (-((_Tp)(__i * (__nm1 + __i))));
23814# 216
23815__b += ((_Tp)2);
23816# 217
23817__d = (((_Tp)1) / ((__a * __d) + __b));
23818# 218
23819__c = (__b + (__a / __c));
23820# 219
23821const _Tp __del = __c * __d;
23822# 220
23823__h *= __del;
23824# 221
23825if (std::abs(__del - ((_Tp)1)) < __eps)
23826# 222
23827{
23828# 223
23829const _Tp __ans = __h * std::exp(-__x);
23830# 224
23831return __ans;
23832# 225
23833}
23834# 226
23835}
23836# 227
23837std::__throw_runtime_error("Continued fraction failed in __expint_En_cont_frac.");
23838# 229
23839}
23840# 246 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23841template< class _Tp> _Tp
23842# 248
23843__expint_En_recursion(unsigned __n, _Tp __x)
23844# 249
23845{
23846# 250
23847_Tp __En;
23848# 251
23849_Tp __E1 = __expint_E1(__x);
23850# 252
23851if (__x < ((_Tp)__n))
23852# 253
23853{
23854# 255
23855__En = __E1;
23856# 256
23857for (unsigned __j = (2); __j < __n; ++__j) {
23858# 257
23859__En = ((std::exp(-__x) - (__x * __En)) / ((_Tp)(__j - (1)))); }
23860# 258
23861} else
23862# 260
23863{
23864# 262
23865__En = ((_Tp)1);
23866# 263
23867const int __N = __n + (20);
23868# 264
23869_Tp __save = ((_Tp)0);
23870# 265
23871for (int __j = __N; __j > 0; --__j)
23872# 266
23873{
23874# 267
23875__En = ((std::exp(-__x) - (__j * __En)) / __x);
23876# 268
23877if (__j == __n) {
23878# 269
23879__save = __En; }
23880# 270
23881}
23882# 271
23883_Tp __norm = __En / __E1;
23884# 272
23885__En /= __norm;
23886# 273
23887}
23888# 275
23889return __En;
23890# 276
23891}
23892# 290 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23893template< class _Tp> _Tp
23894# 292
23895__expint_Ei_series(_Tp __x)
23896# 293
23897{
23898# 294
23899_Tp __term = ((_Tp)1);
23900# 295
23901_Tp __sum = ((_Tp)0);
23902# 296
23903const unsigned __max_iter = (1000);
23904# 297
23905for (unsigned __i = (1); __i < __max_iter; ++__i)
23906# 298
23907{
23908# 299
23909__term *= (__x / __i);
23910# 300
23911__sum += (__term / __i);
23912# 301
23913if (__term < (std::template numeric_limits< _Tp> ::epsilon() * __sum)) {
23914# 302
23915break; }
23916# 303
23917}
23918# 305
23919return (__numeric_constants< _Tp> ::__gamma_e() + __sum) + std::log(__x);
23920# 306
23921}
23922# 321 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23923template< class _Tp> _Tp
23924# 323
23925__expint_Ei_asymp(_Tp __x)
23926# 324
23927{
23928# 325
23929_Tp __term = ((_Tp)1);
23930# 326
23931_Tp __sum = ((_Tp)1);
23932# 327
23933const unsigned __max_iter = (1000);
23934# 328
23935for (unsigned __i = (1); __i < __max_iter; ++__i)
23936# 329
23937{
23938# 330
23939_Tp __prev = __term;
23940# 331
23941__term *= (__i / __x);
23942# 332
23943if (__term < std::template numeric_limits< _Tp> ::epsilon()) {
23944# 333
23945break; }
23946# 334
23947if (__term >= __prev) {
23948# 335
23949break; }
23950# 336
23951__sum += __term;
23952# 337
23953}
23954# 339
23955return (std::exp(__x) * __sum) / __x;
23956# 340
23957}
23958# 354 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23959template< class _Tp> _Tp
23960# 356
23961__expint_Ei(_Tp __x)
23962# 357
23963{
23964# 358
23965if (__x < ((_Tp)0)) {
23966# 359
23967return -__expint_E1(-__x); } else {
23968# 360
23969if (__x < (-std::log(std::template numeric_limits< _Tp> ::epsilon()))) {
23970# 361
23971return __expint_Ei_series(__x); } else {
23972# 363
23973return __expint_Ei_asymp(__x); } }
23974# 364
23975}
23976# 378 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23977template< class _Tp> _Tp
23978# 380
23979__expint_E1(_Tp __x)
23980# 381
23981{
23982# 382
23983if (__x < ((_Tp)0)) {
23984# 383
23985return -__expint_Ei(-__x); } else {
23986# 384
23987if (__x < ((_Tp)1)) {
23988# 385
23989return __expint_E1_series(__x); } else {
23990# 386
23991if (__x < ((_Tp)100)) {
23992# 387
23993return __expint_En_cont_frac(1, __x); } else {
23994# 389
23995return __expint_E1_asymp(__x); } } }
23996# 390
23997}
23998# 408 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
23999template< class _Tp> _Tp
24000# 410
24001__expint_asymp(unsigned __n, _Tp __x)
24002# 411
24003{
24004# 412
24005_Tp __term = ((_Tp)1);
24006# 413
24007_Tp __sum = ((_Tp)1);
24008# 414
24009for (unsigned __i = (1); __i <= __n; ++__i)
24010# 415
24011{
24012# 416
24013_Tp __prev = __term;
24014# 417
24015__term *= ((-((__n - __i) + (1))) / __x);
24016# 418
24017if (std::abs(__term) > std::abs(__prev)) {
24018# 419
24019break; }
24020# 420
24021__sum += __term;
24022# 421
24023}
24024# 423
24025return (std::exp(-__x) * __sum) / __x;
24026# 424
24027}
24028# 442 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
24029template< class _Tp> _Tp
24030# 444
24031__expint_large_n(unsigned __n, _Tp __x)
24032# 445
24033{
24034# 446
24035const _Tp __xpn = __x + __n;
24036# 447
24037const _Tp __xpn2 = __xpn * __xpn;
24038# 448
24039_Tp __term = ((_Tp)1);
24040# 449
24041_Tp __sum = ((_Tp)1);
24042# 450
24043for (unsigned __i = (1); __i <= __n; ++__i)
24044# 451
24045{
24046# 452
24047_Tp __prev = __term;
24048# 453
24049__term *= ((__n - (((2) * (__i - (1))) * __x)) / __xpn2);
24050# 454
24051if (std::abs(__term) < std::template numeric_limits< _Tp> ::epsilon()) {
24052# 455
24053break; }
24054# 456
24055__sum += __term;
24056# 457
24057}
24058# 459
24059return (std::exp(-__x) * __sum) / __xpn;
24060# 460
24061}
24062# 476 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
24063template< class _Tp> _Tp
24064# 478
24065__expint(unsigned __n, _Tp __x)
24066# 479
24067{
24068# 481
24069if (__isnan(__x)) {
24070# 482
24071return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
24072# 483
24073if ((__n <= (1)) && (__x == ((_Tp)0))) {
24074# 484
24075return std::template numeric_limits< _Tp> ::infinity(); } else
24076# 486
24077{
24078# 487
24079_Tp __E0 = std::exp(__x) / __x;
24080# 488
24081if (__n == (0)) {
24082# 489
24083return __E0; }
24084# 491
24085_Tp __E1 = __expint_E1(__x);
24086# 492
24087if (__n == (1)) {
24088# 493
24089return __E1; }
24090# 495
24091if (__x == ((_Tp)0)) {
24092# 496
24093return ((_Tp)1) / (static_cast< _Tp>(__n - (1))); }
24094# 498
24095_Tp __En = __expint_En_recursion(__n, __x);
24096# 500
24097return __En;
24098# 501
24099} }
24100# 502
24101}
24102# 516 "/usr/include/c++/13/tr1/exp_integral.tcc" 3
24103template< class _Tp> inline _Tp
24104# 518
24105__expint(_Tp __x)
24106# 519
24107{
24108# 520
24109if (__isnan(__x)) {
24110# 521
24111return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
24112# 523
24113return __expint_Ei(__x); }
24114# 524
24115}
24116# 525
24117}
24118# 531
24119}
24120# 44 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24121namespace std __attribute((__visibility__("default"))) {
24122# 60 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24123namespace __detail {
24124# 83 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24125template< class _Tp> _Tp
24126# 85
24127__conf_hyperg_series(_Tp __a, _Tp __c, _Tp __x)
24128# 86
24129{
24130# 87
24131const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
24132# 89
24133_Tp __term = ((_Tp)1);
24134# 90
24135_Tp __Fac = ((_Tp)1);
24136# 91
24137const unsigned __max_iter = (100000);
24138# 92
24139unsigned __i;
24140# 93
24141for (__i = (0); __i < __max_iter; ++__i)
24142# 94
24143{
24144# 95
24145__term *= (((__a + ((_Tp)__i)) * __x) / ((__c + ((_Tp)__i)) * ((_Tp)((1) + __i))));
24146# 97
24147if (std::abs(__term) < __eps)
24148# 98
24149{
24150# 99
24151break;
24152# 100
24153}
24154# 101
24155__Fac += __term;
24156# 102
24157}
24158# 103
24159if (__i == __max_iter) {
24160# 104
24161std::__throw_runtime_error("Series failed to converge in __conf_hyperg_series."); }
24162# 107
24163return __Fac;
24164# 108
24165}
24166# 120 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24167template< class _Tp> _Tp
24168# 122
24169__conf_hyperg_luke(_Tp __a, _Tp __c, _Tp __xin)
24170# 123
24171{
24172# 124
24173const _Tp __big = std::pow(std::template numeric_limits< _Tp> ::max(), (_Tp)(0.16L));
24174# 125
24175const int __nmax = 20000;
24176# 126
24177const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
24178# 127
24179const _Tp __x = (-__xin);
24180# 128
24181const _Tp __x3 = (__x * __x) * __x;
24182# 129
24183const _Tp __t0 = __a / __c;
24184# 130
24185const _Tp __t1 = (__a + ((_Tp)1)) / (((_Tp)2) * __c);
24186# 131
24187const _Tp __t2 = (__a + ((_Tp)2)) / (((_Tp)2) * (__c + ((_Tp)1)));
24188# 132
24189_Tp __F = ((_Tp)1);
24190# 133
24191_Tp __prec;
24192# 135
24193_Tp __Bnm3 = ((_Tp)1);
24194# 136
24195_Tp __Bnm2 = ((_Tp)1) + (__t1 * __x);
24196# 137
24197_Tp __Bnm1 = ((_Tp)1) + ((__t2 * __x) * (((_Tp)1) + ((__t1 / ((_Tp)3)) * __x)));
24198# 139
24199_Tp __Anm3 = ((_Tp)1);
24200# 140
24201_Tp __Anm2 = __Bnm2 - (__t0 * __x);
24202# 141
24203_Tp __Anm1 = (__Bnm1 - ((__t0 * (((_Tp)1) + (__t2 * __x))) * __x)) + ((((__t0 * __t1) * (__c / (__c + ((_Tp)1)))) * __x) * __x);
24204# 144
24205int __n = 3;
24206# 145
24207while (1)
24208# 146
24209{
24210# 147
24211_Tp __npam1 = ((_Tp)(__n - 1)) + __a;
24212# 148
24213_Tp __npcm1 = ((_Tp)(__n - 1)) + __c;
24214# 149
24215_Tp __npam2 = ((_Tp)(__n - 2)) + __a;
24216# 150
24217_Tp __npcm2 = ((_Tp)(__n - 2)) + __c;
24218# 151
24219_Tp __tnm1 = (_Tp)((2 * __n) - 1);
24220# 152
24221_Tp __tnm3 = (_Tp)((2 * __n) - 3);
24222# 153
24223_Tp __tnm5 = (_Tp)((2 * __n) - 5);
24224# 154
24225_Tp __F1 = (((_Tp)(__n - 2)) - __a) / ((((_Tp)2) * __tnm3) * __npcm1);
24226# 155
24227_Tp __F2 = ((((_Tp)__n) + __a) * __npam1) / ((((((_Tp)4) * __tnm1) * __tnm3) * __npcm2) * __npcm1);
24228# 157
24229_Tp __F3 = (((-__npam2) * __npam1) * (((_Tp)(__n - 2)) - __a)) / ((((((((_Tp)8) * __tnm3) * __tnm3) * __tnm5) * (((_Tp)(__n - 3)) + __c)) * __npcm2) * __npcm1);
24230# 160
24231_Tp __E = ((-__npam1) * (((_Tp)(__n - 1)) - __c)) / (((((_Tp)2) * __tnm3) * __npcm2) * __npcm1);
24232# 163
24233_Tp __An = (((((_Tp)1) + (__F1 * __x)) * __Anm1) + (((__E + (__F2 * __x)) * __x) * __Anm2)) + ((__F3 * __x3) * __Anm3);
24234# 165
24235_Tp __Bn = (((((_Tp)1) + (__F1 * __x)) * __Bnm1) + (((__E + (__F2 * __x)) * __x) * __Bnm2)) + ((__F3 * __x3) * __Bnm3);
24236# 167
24237_Tp __r = __An / __Bn;
24238# 169
24239__prec = std::abs((__F - __r) / __F);
24240# 170
24241__F = __r;
24242# 172
24243if ((__prec < __eps) || (__n > __nmax)) {
24244# 173
24245break; }
24246# 175
24247if ((std::abs(__An) > __big) || (std::abs(__Bn) > __big))
24248# 176
24249{
24250# 177
24251__An /= __big;
24252# 178
24253__Bn /= __big;
24254# 179
24255__Anm1 /= __big;
24256# 180
24257__Bnm1 /= __big;
24258# 181
24259__Anm2 /= __big;
24260# 182
24261__Bnm2 /= __big;
24262# 183
24263__Anm3 /= __big;
24264# 184
24265__Bnm3 /= __big;
24266# 185
24267} else {
24268# 186
24269if ((std::abs(__An) < (((_Tp)1) / __big)) || (std::abs(__Bn) < (((_Tp)1) / __big)))
24270# 188
24271{
24272# 189
24273__An *= __big;
24274# 190
24275__Bn *= __big;
24276# 191
24277__Anm1 *= __big;
24278# 192
24279__Bnm1 *= __big;
24280# 193
24281__Anm2 *= __big;
24282# 194
24283__Bnm2 *= __big;
24284# 195
24285__Anm3 *= __big;
24286# 196
24287__Bnm3 *= __big;
24288# 197
24289} }
24290# 199
24291++__n;
24292# 200
24293__Bnm3 = __Bnm2;
24294# 201
24295__Bnm2 = __Bnm1;
24296# 202
24297__Bnm1 = __Bn;
24298# 203
24299__Anm3 = __Anm2;
24300# 204
24301__Anm2 = __Anm1;
24302# 205
24303__Anm1 = __An;
24304# 206
24305}
24306# 208
24307if (__n >= __nmax) {
24308# 209
24309std::__throw_runtime_error("Iteration failed to converge in __conf_hyperg_luke."); }
24310# 212
24311return __F;
24312# 213
24313}
24314# 227 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24315template< class _Tp> _Tp
24316# 229
24317__conf_hyperg(_Tp __a, _Tp __c, _Tp __x)
24318# 230
24319{
24320# 232
24321const _Tp __c_nint = std::nearbyint(__c);
24322# 236
24323if ((__isnan(__a) || __isnan(__c)) || __isnan(__x)) {
24324# 237
24325return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
24326# 238
24327if ((__c_nint == __c) && (__c_nint <= 0)) {
24328# 239
24329return std::template numeric_limits< _Tp> ::infinity(); } else {
24330# 240
24331if (__a == ((_Tp)0)) {
24332# 241
24333return (_Tp)1; } else {
24334# 242
24335if (__c == __a) {
24336# 243
24337return std::exp(__x); } else {
24338# 244
24339if (__x < ((_Tp)0)) {
24340# 245
24341return __conf_hyperg_luke(__a, __c, __x); } else {
24342# 247
24343return __conf_hyperg_series(__a, __c, __x); } } } } }
24344# 248
24345}
24346# 271 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24347template< class _Tp> _Tp
24348# 273
24349__hyperg_series(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
24350# 274
24351{
24352# 275
24353const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
24354# 277
24355_Tp __term = ((_Tp)1);
24356# 278
24357_Tp __Fabc = ((_Tp)1);
24358# 279
24359const unsigned __max_iter = (100000);
24360# 280
24361unsigned __i;
24362# 281
24363for (__i = (0); __i < __max_iter; ++__i)
24364# 282
24365{
24366# 283
24367__term *= ((((__a + ((_Tp)__i)) * (__b + ((_Tp)__i))) * __x) / ((__c + ((_Tp)__i)) * ((_Tp)((1) + __i))));
24368# 285
24369if (std::abs(__term) < __eps)
24370# 286
24371{
24372# 287
24373break;
24374# 288
24375}
24376# 289
24377__Fabc += __term;
24378# 290
24379}
24380# 291
24381if (__i == __max_iter) {
24382# 292
24383std::__throw_runtime_error("Series failed to converge in __hyperg_series."); }
24384# 295
24385return __Fabc;
24386# 296
24387}
24388# 304
24389template< class _Tp> _Tp
24390# 306
24391__hyperg_luke(_Tp __a, _Tp __b, _Tp __c, _Tp __xin)
24392# 307
24393{
24394# 308
24395const _Tp __big = std::pow(std::template numeric_limits< _Tp> ::max(), (_Tp)(0.16L));
24396# 309
24397const int __nmax = 20000;
24398# 310
24399const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
24400# 311
24401const _Tp __x = (-__xin);
24402# 312
24403const _Tp __x3 = (__x * __x) * __x;
24404# 313
24405const _Tp __t0 = (__a * __b) / __c;
24406# 314
24407const _Tp __t1 = ((__a + ((_Tp)1)) * (__b + ((_Tp)1))) / (((_Tp)2) * __c);
24408# 315
24409const _Tp __t2 = ((__a + ((_Tp)2)) * (__b + ((_Tp)2))) / (((_Tp)2) * (__c + ((_Tp)1)));
24410# 318
24411_Tp __F = ((_Tp)1);
24412# 320
24413_Tp __Bnm3 = ((_Tp)1);
24414# 321
24415_Tp __Bnm2 = ((_Tp)1) + (__t1 * __x);
24416# 322
24417_Tp __Bnm1 = ((_Tp)1) + ((__t2 * __x) * (((_Tp)1) + ((__t1 / ((_Tp)3)) * __x)));
24418# 324
24419_Tp __Anm3 = ((_Tp)1);
24420# 325
24421_Tp __Anm2 = __Bnm2 - (__t0 * __x);
24422# 326
24423_Tp __Anm1 = (__Bnm1 - ((__t0 * (((_Tp)1) + (__t2 * __x))) * __x)) + ((((__t0 * __t1) * (__c / (__c + ((_Tp)1)))) * __x) * __x);
24424# 329
24425int __n = 3;
24426# 330
24427while (1)
24428# 331
24429{
24430# 332
24431const _Tp __npam1 = ((_Tp)(__n - 1)) + __a;
24432# 333
24433const _Tp __npbm1 = ((_Tp)(__n - 1)) + __b;
24434# 334
24435const _Tp __npcm1 = ((_Tp)(__n - 1)) + __c;
24436# 335
24437const _Tp __npam2 = ((_Tp)(__n - 2)) + __a;
24438# 336
24439const _Tp __npbm2 = ((_Tp)(__n - 2)) + __b;
24440# 337
24441const _Tp __npcm2 = ((_Tp)(__n - 2)) + __c;
24442# 338
24443const _Tp __tnm1 = (_Tp)((2 * __n) - 1);
24444# 339
24445const _Tp __tnm3 = (_Tp)((2 * __n) - 3);
24446# 340
24447const _Tp __tnm5 = (_Tp)((2 * __n) - 5);
24448# 341
24449const _Tp __n2 = __n * __n;
24450# 342
24451const _Tp __F1 = (((((((_Tp)3) * __n2) + (((__a + __b) - ((_Tp)6)) * __n)) + ((_Tp)2)) - (__a * __b)) - (((_Tp)2) * (__a + __b))) / ((((_Tp)2) * __tnm3) * __npcm1);
24452# 345
24453const _Tp __F2 = (((-((((((_Tp)3) * __n2) - (((__a + __b) + ((_Tp)6)) * __n)) + ((_Tp)2)) - (__a * __b))) * __npam1) * __npbm1) / ((((((_Tp)4) * __tnm1) * __tnm3) * __npcm2) * __npcm1);
24454# 348
24455const _Tp __F3 = (((((__npam2 * __npam1) * __npbm2) * __npbm1) * (((_Tp)(__n - 2)) - __a)) * (((_Tp)(__n - 2)) - __b)) / ((((((((_Tp)8) * __tnm3) * __tnm3) * __tnm5) * (((_Tp)(__n - 3)) + __c)) * __npcm2) * __npcm1);
24456# 352
24457const _Tp __E = (((-__npam1) * __npbm1) * (((_Tp)(__n - 1)) - __c)) / (((((_Tp)2) * __tnm3) * __npcm2) * __npcm1);
24458# 355
24459_Tp __An = (((((_Tp)1) + (__F1 * __x)) * __Anm1) + (((__E + (__F2 * __x)) * __x) * __Anm2)) + ((__F3 * __x3) * __Anm3);
24460# 357
24461_Tp __Bn = (((((_Tp)1) + (__F1 * __x)) * __Bnm1) + (((__E + (__F2 * __x)) * __x) * __Bnm2)) + ((__F3 * __x3) * __Bnm3);
24462# 359
24463const _Tp __r = __An / __Bn;
24464# 361
24465const _Tp __prec = std::abs((__F - __r) / __F);
24466# 362
24467__F = __r;
24468# 364
24469if ((__prec < __eps) || (__n > __nmax)) {
24470# 365
24471break; }
24472# 367
24473if ((std::abs(__An) > __big) || (std::abs(__Bn) > __big))
24474# 368
24475{
24476# 369
24477__An /= __big;
24478# 370
24479__Bn /= __big;
24480# 371
24481__Anm1 /= __big;
24482# 372
24483__Bnm1 /= __big;
24484# 373
24485__Anm2 /= __big;
24486# 374
24487__Bnm2 /= __big;
24488# 375
24489__Anm3 /= __big;
24490# 376
24491__Bnm3 /= __big;
24492# 377
24493} else {
24494# 378
24495if ((std::abs(__An) < (((_Tp)1) / __big)) || (std::abs(__Bn) < (((_Tp)1) / __big)))
24496# 380
24497{
24498# 381
24499__An *= __big;
24500# 382
24501__Bn *= __big;
24502# 383
24503__Anm1 *= __big;
24504# 384
24505__Bnm1 *= __big;
24506# 385
24507__Anm2 *= __big;
24508# 386
24509__Bnm2 *= __big;
24510# 387
24511__Anm3 *= __big;
24512# 388
24513__Bnm3 *= __big;
24514# 389
24515} }
24516# 391
24517++__n;
24518# 392
24519__Bnm3 = __Bnm2;
24520# 393
24521__Bnm2 = __Bnm1;
24522# 394
24523__Bnm1 = __Bn;
24524# 395
24525__Anm3 = __Anm2;
24526# 396
24527__Anm2 = __Anm1;
24528# 397
24529__Anm1 = __An;
24530# 398
24531}
24532# 400
24533if (__n >= __nmax) {
24534# 401
24535std::__throw_runtime_error("Iteration failed to converge in __hyperg_luke."); }
24536# 404
24537return __F;
24538# 405
24539}
24540# 438 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24541template< class _Tp> _Tp
24542# 440
24543__hyperg_reflect(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
24544# 441
24545{
24546# 442
24547const _Tp __d = (__c - __a) - __b;
24548# 443
24549const int __intd = std::floor(__d + ((_Tp)(0.5L)));
24550# 444
24551const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
24552# 445
24553const _Tp __toler = ((_Tp)1000) * __eps;
24554# 446
24555const _Tp __log_max = std::log(std::template numeric_limits< _Tp> ::max());
24556# 447
24557const bool __d_integer = std::abs(__d - __intd) < __toler;
24558# 449
24559if (__d_integer)
24560# 450
24561{
24562# 451
24563const _Tp __ln_omx = std::log(((_Tp)1) - __x);
24564# 452
24565const _Tp __ad = std::abs(__d);
24566# 453
24567_Tp __F1, __F2;
24568# 455
24569_Tp __d1, __d2;
24570# 456
24571if (__d >= ((_Tp)0))
24572# 457
24573{
24574# 458
24575__d1 = __d;
24576# 459
24577__d2 = ((_Tp)0);
24578# 460
24579} else
24580# 462
24581{
24582# 463
24583__d1 = ((_Tp)0);
24584# 464
24585__d2 = __d;
24586# 465
24587}
24588# 467
24589const _Tp __lng_c = __log_gamma(__c);
24590# 470
24591if (__ad < __eps)
24592# 471
24593{
24594# 473
24595__F1 = ((_Tp)0);
24596# 474
24597} else
24598# 476
24599{
24600# 478
24601bool __ok_d1 = true;
24602# 479
24603_Tp __lng_ad, __lng_ad1, __lng_bd1;
24604# 480
24605try
24606# 481
24607{
24608# 482
24609__lng_ad = __log_gamma(__ad);
24610# 483
24611__lng_ad1 = __log_gamma(__a + __d1);
24612# 484
24613__lng_bd1 = __log_gamma(__b + __d1);
24614# 485
24615}
24616# 486
24617catch (...)
24618# 487
24619{
24620# 488
24621__ok_d1 = false;
24622# 489
24623}
24624# 491
24625if (__ok_d1)
24626# 492
24627{
24628# 496
24629_Tp __sum1 = ((_Tp)1);
24630# 497
24631_Tp __term = ((_Tp)1);
24632# 498
24633_Tp __ln_pre1 = (((__lng_ad + __lng_c) + (__d2 * __ln_omx)) - __lng_ad1) - __lng_bd1;
24634# 503
24635for (int __i = 1; __i < __ad; ++__i)
24636# 504
24637{
24638# 505
24639const int __j = __i - 1;
24640# 506
24641__term *= ((((((__a + __d2) + __j) * ((__b + __d2) + __j)) / ((((_Tp)1) + __d2) + __j)) / __i) * (((_Tp)1) - __x));
24642# 508
24643__sum1 += __term;
24644# 509
24645}
24646# 511
24647if (__ln_pre1 > __log_max) {
24648# 512
24649std::__throw_runtime_error("Overflow of gamma functions in __hyperg_luke."); } else {
24650# 515
24651__F1 = (std::exp(__ln_pre1) * __sum1); }
24652# 516
24653} else
24654# 518
24655{
24656# 521
24657__F1 = ((_Tp)0);
24658# 522
24659}
24660# 523
24661}
24662# 526
24663bool __ok_d2 = true;
24664# 527
24665_Tp __lng_ad2, __lng_bd2;
24666# 528
24667try
24668# 529
24669{
24670# 530
24671__lng_ad2 = __log_gamma(__a + __d2);
24672# 531
24673__lng_bd2 = __log_gamma(__b + __d2);
24674# 532
24675}
24676# 533
24677catch (...)
24678# 534
24679{
24680# 535
24681__ok_d2 = false;
24682# 536
24683}
24684# 538
24685if (__ok_d2)
24686# 539
24687{
24688# 542
24689const int __maxiter = 2000;
24690# 543
24691const _Tp __psi_1 = (-__numeric_constants< _Tp> ::__gamma_e());
24692# 544
24693const _Tp __psi_1pd = __psi(((_Tp)1) + __ad);
24694# 545
24695const _Tp __psi_apd1 = __psi(__a + __d1);
24696# 546
24697const _Tp __psi_bpd1 = __psi(__b + __d1);
24698# 548
24699_Tp __psi_term = (((__psi_1 + __psi_1pd) - __psi_apd1) - __psi_bpd1) - __ln_omx;
24700# 550
24701_Tp __fact = ((_Tp)1);
24702# 551
24703_Tp __sum2 = __psi_term;
24704# 552
24705_Tp __ln_pre2 = ((__lng_c + (__d1 * __ln_omx)) - __lng_ad2) - __lng_bd2;
24706# 556
24707int __j;
24708# 557
24709for (__j = 1; __j < __maxiter; ++__j)
24710# 558
24711{
24712# 561
24713const _Tp __term1 = (((_Tp)1) / ((_Tp)__j)) + (((_Tp)1) / (__ad + __j));
24714# 563
24715const _Tp __term2 = (((_Tp)1) / ((__a + __d1) + ((_Tp)(__j - 1)))) + (((_Tp)1) / ((__b + __d1) + ((_Tp)(__j - 1))));
24716# 565
24717__psi_term += (__term1 - __term2);
24718# 566
24719__fact *= (((((__a + __d1) + ((_Tp)(__j - 1))) * ((__b + __d1) + ((_Tp)(__j - 1)))) / ((__ad + __j) * __j)) * (((_Tp)1) - __x));
24720# 569
24721const _Tp __delta = __fact * __psi_term;
24722# 570
24723__sum2 += __delta;
24724# 571
24725if (std::abs(__delta) < (__eps * std::abs(__sum2))) {
24726# 572
24727break; }
24728# 573
24729}
24730# 574
24731if (__j == __maxiter) {
24732# 575
24733std::__throw_runtime_error("Sum F2 failed to converge in __hyperg_reflect"); }
24734# 578
24735if (__sum2 == ((_Tp)0)) {
24736# 579
24737__F2 = ((_Tp)0); } else {
24738# 581
24739__F2 = (std::exp(__ln_pre2) * __sum2); }
24740# 582
24741} else
24742# 584
24743{
24744# 587
24745__F2 = ((_Tp)0);
24746# 588
24747}
24748# 590
24749const _Tp __sgn_2 = (((__intd % 2) == 1) ? -((_Tp)1) : ((_Tp)1));
24750# 591
24751const _Tp __F = __F1 + (__sgn_2 * __F2);
24752# 593
24753return __F;
24754# 594
24755} else
24756# 596
24757{
24758# 601
24759bool __ok1 = true;
24760# 602
24761_Tp __sgn_g1ca = ((_Tp)0), __ln_g1ca = ((_Tp)0);
24762# 603
24763_Tp __sgn_g1cb = ((_Tp)0), __ln_g1cb = ((_Tp)0);
24764# 604
24765try
24766# 605
24767{
24768# 606
24769__sgn_g1ca = __log_gamma_sign(__c - __a);
24770# 607
24771__ln_g1ca = __log_gamma(__c - __a);
24772# 608
24773__sgn_g1cb = __log_gamma_sign(__c - __b);
24774# 609
24775__ln_g1cb = __log_gamma(__c - __b);
24776# 610
24777}
24778# 611
24779catch (...)
24780# 612
24781{
24782# 613
24783__ok1 = false;
24784# 614
24785}
24786# 616
24787bool __ok2 = true;
24788# 617
24789_Tp __sgn_g2a = ((_Tp)0), __ln_g2a = ((_Tp)0);
24790# 618
24791_Tp __sgn_g2b = ((_Tp)0), __ln_g2b = ((_Tp)0);
24792# 619
24793try
24794# 620
24795{
24796# 621
24797__sgn_g2a = __log_gamma_sign(__a);
24798# 622
24799__ln_g2a = __log_gamma(__a);
24800# 623
24801__sgn_g2b = __log_gamma_sign(__b);
24802# 624
24803__ln_g2b = __log_gamma(__b);
24804# 625
24805}
24806# 626
24807catch (...)
24808# 627
24809{
24810# 628
24811__ok2 = false;
24812# 629
24813}
24814# 631
24815const _Tp __sgn_gc = __log_gamma_sign(__c);
24816# 632
24817const _Tp __ln_gc = __log_gamma(__c);
24818# 633
24819const _Tp __sgn_gd = __log_gamma_sign(__d);
24820# 634
24821const _Tp __ln_gd = __log_gamma(__d);
24822# 635
24823const _Tp __sgn_gmd = __log_gamma_sign(-__d);
24824# 636
24825const _Tp __ln_gmd = __log_gamma(-__d);
24826# 638
24827const _Tp __sgn1 = ((__sgn_gc * __sgn_gd) * __sgn_g1ca) * __sgn_g1cb;
24828# 639
24829const _Tp __sgn2 = ((__sgn_gc * __sgn_gmd) * __sgn_g2a) * __sgn_g2b;
24830# 641
24831_Tp __pre1, __pre2;
24832# 642
24833if (__ok1 && __ok2)
24834# 643
24835{
24836# 644
24837_Tp __ln_pre1 = ((__ln_gc + __ln_gd) - __ln_g1ca) - __ln_g1cb;
24838# 645
24839_Tp __ln_pre2 = (((__ln_gc + __ln_gmd) - __ln_g2a) - __ln_g2b) + (__d * std::log(((_Tp)1) - __x));
24840# 647
24841if ((__ln_pre1 < __log_max) && (__ln_pre2 < __log_max))
24842# 648
24843{
24844# 649
24845__pre1 = std::exp(__ln_pre1);
24846# 650
24847__pre2 = std::exp(__ln_pre2);
24848# 651
24849__pre1 *= __sgn1;
24850# 652
24851__pre2 *= __sgn2;
24852# 653
24853} else
24854# 655
24855{
24856# 656
24857std::__throw_runtime_error("Overflow of gamma functions in __hyperg_reflect");
24858# 658
24859}
24860# 659
24861} else {
24862# 660
24863if (__ok1 && (!__ok2))
24864# 661
24865{
24866# 662
24867_Tp __ln_pre1 = ((__ln_gc + __ln_gd) - __ln_g1ca) - __ln_g1cb;
24868# 663
24869if (__ln_pre1 < __log_max)
24870# 664
24871{
24872# 665
24873__pre1 = std::exp(__ln_pre1);
24874# 666
24875__pre1 *= __sgn1;
24876# 667
24877__pre2 = ((_Tp)0);
24878# 668
24879} else
24880# 670
24881{
24882# 671
24883std::__throw_runtime_error("Overflow of gamma functions in __hyperg_reflect");
24884# 673
24885}
24886# 674
24887} else {
24888# 675
24889if ((!__ok1) && __ok2)
24890# 676
24891{
24892# 677
24893_Tp __ln_pre2 = (((__ln_gc + __ln_gmd) - __ln_g2a) - __ln_g2b) + (__d * std::log(((_Tp)1) - __x));
24894# 679
24895if (__ln_pre2 < __log_max)
24896# 680
24897{
24898# 681
24899__pre1 = ((_Tp)0);
24900# 682
24901__pre2 = std::exp(__ln_pre2);
24902# 683
24903__pre2 *= __sgn2;
24904# 684
24905} else
24906# 686
24907{
24908# 687
24909std::__throw_runtime_error("Overflow of gamma functions in __hyperg_reflect");
24910# 689
24911}
24912# 690
24913} else
24914# 692
24915{
24916# 693
24917__pre1 = ((_Tp)0);
24918# 694
24919__pre2 = ((_Tp)0);
24920# 695
24921std::__throw_runtime_error("Underflow of gamma functions in __hyperg_reflect");
24922# 697
24923} } }
24924# 699
24925const _Tp __F1 = __hyperg_series(__a, __b, ((_Tp)1) - __d, ((_Tp)1) - __x);
24926# 701
24927const _Tp __F2 = __hyperg_series(__c - __a, __c - __b, ((_Tp)1) + __d, ((_Tp)1) - __x);
24928# 704
24929const _Tp __F = (__pre1 * __F1) + (__pre2 * __F2);
24930# 706
24931return __F;
24932# 707
24933}
24934# 708
24935}
24936# 728 "/usr/include/c++/13/tr1/hypergeometric.tcc" 3
24937template< class _Tp> _Tp
24938# 730
24939__hyperg(_Tp __a, _Tp __b, _Tp __c, _Tp __x)
24940# 731
24941{
24942# 733
24943const _Tp __a_nint = std::nearbyint(__a);
24944# 734
24945const _Tp __b_nint = std::nearbyint(__b);
24946# 735
24947const _Tp __c_nint = std::nearbyint(__c);
24948# 741
24949const _Tp __toler = ((_Tp)1000) * std::template numeric_limits< _Tp> ::epsilon();
24950# 742
24951if (std::abs(__x) >= ((_Tp)1)) {
24952# 743
24953std::__throw_domain_error("Argument outside unit circle in __hyperg."); } else {
24954# 745
24955if (((__isnan(__a) || __isnan(__b)) || __isnan(__c)) || __isnan(__x)) {
24956# 747
24957return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
24958# 748
24959if ((__c_nint == __c) && (__c_nint <= ((_Tp)0))) {
24960# 749
24961return std::template numeric_limits< _Tp> ::infinity(); } else {
24962# 750
24963if ((std::abs(__c - __b) < __toler) || (std::abs(__c - __a) < __toler)) {
24964# 751
24965return std::pow(((_Tp)1) - __x, (__c - __a) - __b); } else {
24966# 752
24967if ((__a >= ((_Tp)0)) && (__b >= ((_Tp)0)) && (__c >= ((_Tp)0)) && (__x >= ((_Tp)0)) && (__x < ((_Tp)(0.995L)))) {
24968# 754
24969return __hyperg_series(__a, __b, __c, __x); } else {
24970# 755
24971if ((std::abs(__a) < ((_Tp)10)) && (std::abs(__b) < ((_Tp)10)))
24972# 756
24973{
24974# 759
24975if ((__a < ((_Tp)0)) && (std::abs(__a - __a_nint) < __toler)) {
24976# 760
24977return __hyperg_series(__a_nint, __b, __c, __x); } else {
24978# 761
24979if ((__b < ((_Tp)0)) && (std::abs(__b - __b_nint) < __toler)) {
24980# 762
24981return __hyperg_series(__a, __b_nint, __c, __x); } else {
24982# 763
24983if (__x < (-((_Tp)(0.25L)))) {
24984# 764
24985return __hyperg_luke(__a, __b, __c, __x); } else {
24986# 765
24987if (__x < ((_Tp)(0.5L))) {
24988# 766
24989return __hyperg_series(__a, __b, __c, __x); } else {
24990# 768
24991if (std::abs(__c) > ((_Tp)10)) {
24992# 769
24993return __hyperg_series(__a, __b, __c, __x); } else {
24994# 771
24995return __hyperg_reflect(__a, __b, __c, __x); } } } } }
24996# 772
24997} else {
24998# 774
24999return __hyperg_luke(__a, __b, __c, __x); } } } } } }
25000# 775
25001}
25002# 776
25003}
25004# 783
25005}
25006# 49 "/usr/include/c++/13/tr1/legendre_function.tcc" 3
25007namespace std __attribute((__visibility__("default"))) {
25008# 65 "/usr/include/c++/13/tr1/legendre_function.tcc" 3
25009namespace __detail {
25010# 80 "/usr/include/c++/13/tr1/legendre_function.tcc" 3
25011template< class _Tp> _Tp
25012# 82
25013__poly_legendre_p(unsigned __l, _Tp __x)
25014# 83
25015{
25016# 85
25017if (__isnan(__x)) {
25018# 86
25019return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
25020# 87
25021if (__x == (+((_Tp)1))) {
25022# 88
25023return +((_Tp)1); } else {
25024# 89
25025if (__x == (-((_Tp)1))) {
25026# 90
25027return (((__l % (2)) == (1)) ? -((_Tp)1) : (+((_Tp)1))); } else
25028# 92
25029{
25030# 93
25031_Tp __p_lm2 = ((_Tp)1);
25032# 94
25033if (__l == (0)) {
25034# 95
25035return __p_lm2; }
25036# 97
25037_Tp __p_lm1 = __x;
25038# 98
25039if (__l == (1)) {
25040# 99
25041return __p_lm1; }
25042# 101
25043_Tp __p_l = (0);
25044# 102
25045for (unsigned __ll = (2); __ll <= __l; ++__ll)
25046# 103
25047{
25048# 106
25049__p_l = ((((((_Tp)2) * __x) * __p_lm1) - __p_lm2) - (((__x * __p_lm1) - __p_lm2) / ((_Tp)__ll)));
25050# 108
25051__p_lm2 = __p_lm1;
25052# 109
25053__p_lm1 = __p_l;
25054# 110
25055}
25056# 112
25057return __p_l;
25058# 113
25059} } }
25060# 114
25061}
25062# 136 "/usr/include/c++/13/tr1/legendre_function.tcc" 3
25063template< class _Tp> _Tp
25064# 138
25065__assoc_legendre_p(unsigned __l, unsigned __m, _Tp __x, _Tp
25066# 139
25067__phase = (_Tp)(+1))
25068# 140
25069{
25070# 142
25071if (__m > __l) {
25072# 143
25073return (_Tp)0; } else {
25074# 144
25075if (__isnan(__x)) {
25076# 145
25077return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
25078# 146
25079if (__m == (0)) {
25080# 147
25081return __poly_legendre_p(__l, __x); } else
25082# 149
25083{
25084# 150
25085_Tp __p_mm = ((_Tp)1);
25086# 151
25087if (__m > (0))
25088# 152
25089{
25090# 155
25091_Tp __root = std::sqrt(((_Tp)1) - __x) * std::sqrt(((_Tp)1) + __x);
25092# 156
25093_Tp __fact = ((_Tp)1);
25094# 157
25095for (unsigned __i = (1); __i <= __m; ++__i)
25096# 158
25097{
25098# 159
25099__p_mm *= ((__phase * __fact) * __root);
25100# 160
25101__fact += ((_Tp)2);
25102# 161
25103}
25104# 162
25105}
25106# 163
25107if (__l == __m) {
25108# 164
25109return __p_mm; }
25110# 166
25111_Tp __p_mp1m = (((_Tp)(((2) * __m) + (1))) * __x) * __p_mm;
25112# 167
25113if (__l == (__m + (1))) {
25114# 168
25115return __p_mp1m; }
25116# 170
25117_Tp __p_lm2m = __p_mm;
25118# 171
25119_Tp __P_lm1m = __p_mp1m;
25120# 172
25121_Tp __p_lm = ((_Tp)0);
25122# 173
25123for (unsigned __j = __m + (2); __j <= __l; ++__j)
25124# 174
25125{
25126# 175
25127__p_lm = ((((((_Tp)(((2) * __j) - (1))) * __x) * __P_lm1m) - (((_Tp)((__j + __m) - (1))) * __p_lm2m)) / ((_Tp)(__j - __m)));
25128# 177
25129__p_lm2m = __P_lm1m;
25130# 178
25131__P_lm1m = __p_lm;
25132# 179
25133}
25134# 181
25135return __p_lm;
25136# 182
25137} } }
25138# 183
25139}
25140# 214 "/usr/include/c++/13/tr1/legendre_function.tcc" 3
25141template< class _Tp> _Tp
25142# 216
25143__sph_legendre(unsigned __l, unsigned __m, _Tp __theta)
25144# 217
25145{
25146# 218
25147if (__isnan(__theta)) {
25148# 219
25149return std::template numeric_limits< _Tp> ::quiet_NaN(); }
25150# 221
25151const _Tp __x = std::cos(__theta);
25152# 223
25153if (__m > __l) {
25154# 224
25155return (_Tp)0; } else {
25156# 225
25157if (__m == (0))
25158# 226
25159{
25160# 227
25161_Tp __P = __poly_legendre_p(__l, __x);
25162# 228
25163_Tp __fact = std::sqrt(((_Tp)(((2) * __l) + (1))) / (((_Tp)4) * __numeric_constants< _Tp> ::__pi()));
25164# 230
25165__P *= __fact;
25166# 231
25167return __P;
25168# 232
25169} else {
25170# 233
25171if ((__x == ((_Tp)1)) || (__x == (-((_Tp)1))))
25172# 234
25173{
25174# 236
25175return (_Tp)0;
25176# 237
25177} else
25178# 239
25179{
25180# 245
25181const _Tp __sgn = ((__m % (2)) == (1)) ? -((_Tp)1) : ((_Tp)1);
25182# 246
25183const _Tp __y_mp1m_factor = __x * std::sqrt((_Tp)(((2) * __m) + (3)));
25184# 248
25185const _Tp __lncirc = std::log1p((-__x) * __x);
25186# 254
25187const _Tp __lnpoch = std::lgamma((_Tp)(__m + ((_Tp)(0.5L)))) - std::lgamma((_Tp)__m);
25188# 260
25189const _Tp __lnpre_val = ((-((_Tp)(0.25L))) * __numeric_constants< _Tp> ::__lnpi()) + (((_Tp)(0.5L)) * (__lnpoch + (__m * __lncirc)));
25190# 263
25191const _Tp __sr = std::sqrt((((_Tp)2) + (((_Tp)1) / __m)) / (((_Tp)4) * __numeric_constants< _Tp> ::__pi()));
25192# 265
25193_Tp __y_mm = (__sgn * __sr) * std::exp(__lnpre_val);
25194# 266
25195_Tp __y_mp1m = __y_mp1m_factor * __y_mm;
25196# 268
25197if (__l == __m) {
25198# 269
25199return __y_mm; } else {
25200# 270
25201if (__l == (__m + (1))) {
25202# 271
25203return __y_mp1m; } else
25204# 273
25205{
25206# 274
25207_Tp __y_lm = ((_Tp)0);
25208# 277
25209for (unsigned __ll = __m + (2); __ll <= __l; ++__ll)
25210# 278
25211{
25212# 279
25213const _Tp __rat1 = ((_Tp)(__ll - __m)) / ((_Tp)(__ll + __m));
25214# 280
25215const _Tp __rat2 = ((_Tp)((__ll - __m) - (1))) / ((_Tp)((__ll + __m) - (1)));
25216# 281
25217const _Tp __fact1 = std::sqrt((__rat1 * ((_Tp)(((2) * __ll) + (1)))) * ((_Tp)(((2) * __ll) - (1))));
25218# 283
25219const _Tp __fact2 = std::sqrt(((__rat1 * __rat2) * ((_Tp)(((2) * __ll) + (1)))) / ((_Tp)(((2) * __ll) - (3))));
25220# 285
25221__y_lm = ((((__x * __y_mp1m) * __fact1) - ((((__ll + __m) - (1)) * __y_mm) * __fact2)) / ((_Tp)(__ll - __m)));
25222# 287
25223__y_mm = __y_mp1m;
25224# 288
25225__y_mp1m = __y_lm;
25226# 289
25227}
25228# 291
25229return __y_lm;
25230# 292
25231} }
25232# 293
25233} } }
25234# 294
25235}
25236# 295
25237}
25238# 302
25239}
25240# 51 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25241namespace std __attribute((__visibility__("default"))) {
25242# 65 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25243namespace __detail {
25244# 83 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25245template< class _Tp> void
25246# 85
25247__bessel_ik(_Tp __nu, _Tp __x, _Tp &
25248# 86
25249__Inu, _Tp &__Knu, _Tp &__Ipnu, _Tp &__Kpnu)
25250# 87
25251{
25252# 88
25253if (__x == ((_Tp)0))
25254# 89
25255{
25256# 90
25257if (__nu == ((_Tp)0))
25258# 91
25259{
25260# 92
25261__Inu = ((_Tp)1);
25262# 93
25263__Ipnu = ((_Tp)0);
25264# 94
25265} else {
25266# 95
25267if (__nu == ((_Tp)1))
25268# 96
25269{
25270# 97
25271__Inu = ((_Tp)0);
25272# 98
25273__Ipnu = ((_Tp)(0.5L));
25274# 99
25275} else
25276# 101
25277{
25278# 102
25279__Inu = ((_Tp)0);
25280# 103
25281__Ipnu = ((_Tp)0);
25282# 104
25283} }
25284# 105
25285__Knu = std::template numeric_limits< _Tp> ::infinity();
25286# 106
25287__Kpnu = (-std::template numeric_limits< _Tp> ::infinity());
25288# 107
25289return;
25290# 108
25291}
25292# 110
25293const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
25294# 111
25295const _Tp __fp_min = ((_Tp)10) * std::template numeric_limits< _Tp> ::epsilon();
25296# 112
25297const int __max_iter = 15000;
25298# 113
25299const _Tp __x_min = ((_Tp)2);
25300# 115
25301const int __nl = static_cast< int>(__nu + ((_Tp)(0.5L)));
25302# 117
25303const _Tp __mu = __nu - __nl;
25304# 118
25305const _Tp __mu2 = __mu * __mu;
25306# 119
25307const _Tp __xi = ((_Tp)1) / __x;
25308# 120
25309const _Tp __xi2 = ((_Tp)2) * __xi;
25310# 121
25311_Tp __h = __nu * __xi;
25312# 122
25313if (__h < __fp_min) {
25314# 123
25315__h = __fp_min; }
25316# 124
25317_Tp __b = __xi2 * __nu;
25318# 125
25319_Tp __d = ((_Tp)0);
25320# 126
25321_Tp __c = __h;
25322# 127
25323int __i;
25324# 128
25325for (__i = 1; __i <= __max_iter; ++__i)
25326# 129
25327{
25328# 130
25329__b += __xi2;
25330# 131
25331__d = (((_Tp)1) / (__b + __d));
25332# 132
25333__c = (__b + (((_Tp)1) / __c));
25334# 133
25335const _Tp __del = __c * __d;
25336# 134
25337__h *= __del;
25338# 135
25339if (std::abs(__del - ((_Tp)1)) < __eps) {
25340# 136
25341break; }
25342# 137
25343}
25344# 138
25345if (__i > __max_iter) {
25346# 139
25347std::__throw_runtime_error("Argument x too large in __bessel_ik; try asymptotic expansion."); }
25348# 142
25349_Tp __Inul = __fp_min;
25350# 143
25351_Tp __Ipnul = __h * __Inul;
25352# 144
25353_Tp __Inul1 = __Inul;
25354# 145
25355_Tp __Ipnu1 = __Ipnul;
25356# 146
25357_Tp __fact = __nu * __xi;
25358# 147
25359for (int __l = __nl; __l >= 1; --__l)
25360# 148
25361{
25362# 149
25363const _Tp __Inutemp = (__fact * __Inul) + __Ipnul;
25364# 150
25365__fact -= __xi;
25366# 151
25367__Ipnul = ((__fact * __Inutemp) + __Inul);
25368# 152
25369__Inul = __Inutemp;
25370# 153
25371}
25372# 154
25373_Tp __f = __Ipnul / __Inul;
25374# 155
25375_Tp __Kmu, __Knu1;
25376# 156
25377if (__x < __x_min)
25378# 157
25379{
25380# 158
25381const _Tp __x2 = __x / ((_Tp)2);
25382# 159
25383const _Tp __pimu = __numeric_constants< _Tp> ::__pi() * __mu;
25384# 160
25385const _Tp __fact = (std::abs(__pimu) < __eps) ? (_Tp)1 : (__pimu / std::sin(__pimu));
25386# 162
25387_Tp __d = (-std::log(__x2));
25388# 163
25389_Tp __e = __mu * __d;
25390# 164
25391const _Tp __fact2 = (std::abs(__e) < __eps) ? (_Tp)1 : (std::sinh(__e) / __e);
25392# 166
25393_Tp __gam1, __gam2, __gampl, __gammi;
25394# 167
25395__gamma_temme(__mu, __gam1, __gam2, __gampl, __gammi);
25396# 168
25397_Tp __ff = __fact * ((__gam1 * std::cosh(__e)) + ((__gam2 * __fact2) * __d));
25398# 170
25399_Tp __sum = __ff;
25400# 171
25401__e = std::exp(__e);
25402# 172
25403_Tp __p = __e / (((_Tp)2) * __gampl);
25404# 173
25405_Tp __q = ((_Tp)1) / ((((_Tp)2) * __e) * __gammi);
25406# 174
25407_Tp __c = ((_Tp)1);
25408# 175
25409__d = (__x2 * __x2);
25410# 176
25411_Tp __sum1 = __p;
25412# 177
25413int __i;
25414# 178
25415for (__i = 1; __i <= __max_iter; ++__i)
25416# 179
25417{
25418# 180
25419__ff = ((((__i * __ff) + __p) + __q) / ((__i * __i) - __mu2));
25420# 181
25421__c *= (__d / __i);
25422# 182
25423__p /= (__i - __mu);
25424# 183
25425__q /= (__i + __mu);
25426# 184
25427const _Tp __del = __c * __ff;
25428# 185
25429__sum += __del;
25430# 186
25431const _Tp __del1 = __c * (__p - (__i * __ff));
25432# 187
25433__sum1 += __del1;
25434# 188
25435if (std::abs(__del) < (__eps * std::abs(__sum))) {
25436# 189
25437break; }
25438# 190
25439}
25440# 191
25441if (__i > __max_iter) {
25442# 192
25443std::__throw_runtime_error("Bessel k series failed to converge in __bessel_ik."); }
25444# 194
25445__Kmu = __sum;
25446# 195
25447__Knu1 = (__sum1 * __xi2);
25448# 196
25449} else
25450# 198
25451{
25452# 199
25453_Tp __b = ((_Tp)2) * (((_Tp)1) + __x);
25454# 200
25455_Tp __d = ((_Tp)1) / __b;
25456# 201
25457_Tp __delh = __d;
25458# 202
25459_Tp __h = __delh;
25460# 203
25461_Tp __q1 = ((_Tp)0);
25462# 204
25463_Tp __q2 = ((_Tp)1);
25464# 205
25465_Tp __a1 = ((_Tp)(0.25L)) - __mu2;
25466# 206
25467_Tp __q = __c = __a1;
25468# 207
25469_Tp __a = (-__a1);
25470# 208
25471_Tp __s = ((_Tp)1) + (__q * __delh);
25472# 209
25473int __i;
25474# 210
25475for (__i = 2; __i <= __max_iter; ++__i)
25476# 211
25477{
25478# 212
25479__a -= (2 * (__i - 1));
25480# 213
25481__c = (((-__a) * __c) / __i);
25482# 214
25483const _Tp __qnew = (__q1 - (__b * __q2)) / __a;
25484# 215
25485__q1 = __q2;
25486# 216
25487__q2 = __qnew;
25488# 217
25489__q += (__c * __qnew);
25490# 218
25491__b += ((_Tp)2);
25492# 219
25493__d = (((_Tp)1) / (__b + (__a * __d)));
25494# 220
25495__delh = (((__b * __d) - ((_Tp)1)) * __delh);
25496# 221
25497__h += __delh;
25498# 222
25499const _Tp __dels = __q * __delh;
25500# 223
25501__s += __dels;
25502# 224
25503if (std::abs(__dels / __s) < __eps) {
25504# 225
25505break; }
25506# 226
25507}
25508# 227
25509if (__i > __max_iter) {
25510# 228
25511std::__throw_runtime_error("Steed\'s method failed in __bessel_ik."); }
25512# 230
25513__h = (__a1 * __h);
25514# 231
25515__Kmu = ((std::sqrt(__numeric_constants< _Tp> ::__pi() / (((_Tp)2) * __x)) * std::exp(-__x)) / __s);
25516# 233
25517__Knu1 = ((__Kmu * (((__mu + __x) + ((_Tp)(0.5L))) - __h)) * __xi);
25518# 234
25519}
25520# 236
25521_Tp __Kpmu = ((__mu * __xi) * __Kmu) - __Knu1;
25522# 237
25523_Tp __Inumu = __xi / ((__f * __Kmu) - __Kpmu);
25524# 238
25525__Inu = ((__Inumu * __Inul1) / __Inul);
25526# 239
25527__Ipnu = ((__Inumu * __Ipnu1) / __Inul);
25528# 240
25529for (__i = 1; __i <= __nl; ++__i)
25530# 241
25531{
25532# 242
25533const _Tp __Knutemp = (((__mu + __i) * __xi2) * __Knu1) + __Kmu;
25534# 243
25535__Kmu = __Knu1;
25536# 244
25537__Knu1 = __Knutemp;
25538# 245
25539}
25540# 246
25541__Knu = __Kmu;
25542# 247
25543__Kpnu = (((__nu * __xi) * __Kmu) - __Knu1);
25544# 250
25545}
25546# 267 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25547template< class _Tp> _Tp
25548# 269
25549__cyl_bessel_i(_Tp __nu, _Tp __x)
25550# 270
25551{
25552# 271
25553if ((__nu < ((_Tp)0)) || (__x < ((_Tp)0))) {
25554# 272
25555std::__throw_domain_error("Bad argument in __cyl_bessel_i."); } else {
25556# 274
25557if (__isnan(__nu) || __isnan(__x)) {
25558# 275
25559return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
25560# 276
25561if ((__x * __x) < (((_Tp)10) * (__nu + ((_Tp)1)))) {
25562# 277
25563return __cyl_bessel_ij_series(__nu, __x, +((_Tp)1), 200); } else
25564# 279
25565{
25566# 280
25567_Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
25568# 281
25569__bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
25570# 282
25571return __I_nu;
25572# 283
25573} } }
25574# 284
25575}
25576# 303 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25577template< class _Tp> _Tp
25578# 305
25579__cyl_bessel_k(_Tp __nu, _Tp __x)
25580# 306
25581{
25582# 307
25583if ((__nu < ((_Tp)0)) || (__x < ((_Tp)0))) {
25584# 308
25585std::__throw_domain_error("Bad argument in __cyl_bessel_k."); } else {
25586# 310
25587if (__isnan(__nu) || __isnan(__x)) {
25588# 311
25589return std::template numeric_limits< _Tp> ::quiet_NaN(); } else
25590# 313
25591{
25592# 314
25593_Tp __I_nu, __K_nu, __Ip_nu, __Kp_nu;
25594# 315
25595__bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
25596# 316
25597return __K_nu;
25598# 317
25599} }
25600# 318
25601}
25602# 337 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25603template< class _Tp> void
25604# 339
25605__sph_bessel_ik(unsigned __n, _Tp __x, _Tp &
25606# 340
25607__i_n, _Tp &__k_n, _Tp &__ip_n, _Tp &__kp_n)
25608# 341
25609{
25610# 342
25611const _Tp __nu = ((_Tp)__n) + ((_Tp)(0.5L));
25612# 344
25613_Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
25614# 345
25615__bessel_ik(__nu, __x, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
25616# 347
25617const _Tp __factor = __numeric_constants< _Tp> ::__sqrtpio2() / std::sqrt(__x);
25618# 350
25619__i_n = (__factor * __I_nu);
25620# 351
25621__k_n = (__factor * __K_nu);
25622# 352
25623__ip_n = ((__factor * __Ip_nu) - (__i_n / (((_Tp)2) * __x)));
25624# 353
25625__kp_n = ((__factor * __Kp_nu) - (__k_n / (((_Tp)2) * __x)));
25626# 356
25627}
25628# 373 "/usr/include/c++/13/tr1/modified_bessel_func.tcc" 3
25629template< class _Tp> void
25630# 375
25631__airy(_Tp __x, _Tp &__Ai, _Tp &__Bi, _Tp &__Aip, _Tp &__Bip)
25632# 376
25633{
25634# 377
25635const _Tp __absx = std::abs(__x);
25636# 378
25637const _Tp __rootx = std::sqrt(__absx);
25638# 379
25639const _Tp __z = ((((_Tp)2) * __absx) * __rootx) / ((_Tp)3);
25640# 380
25641const _Tp _S_inf = std::template numeric_limits< _Tp> ::infinity();
25642# 382
25643if (__isnan(__x)) {
25644# 383
25645__Bip = (__Aip = (__Bi = (__Ai = std::template numeric_limits< _Tp> ::quiet_NaN()))); } else {
25646# 384
25647if (__z == _S_inf)
25648# 385
25649{
25650# 386
25651__Aip = (__Ai = ((_Tp)0));
25652# 387
25653__Bip = (__Bi = _S_inf);
25654# 388
25655} else {
25656# 389
25657if (__z == (-_S_inf)) {
25658# 390
25659__Bip = (__Aip = (__Bi = (__Ai = ((_Tp)0)))); } else {
25660# 391
25661if (__x > ((_Tp)0))
25662# 392
25663{
25664# 393
25665_Tp __I_nu, __Ip_nu, __K_nu, __Kp_nu;
25666# 395
25667__bessel_ik(((_Tp)1) / ((_Tp)3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
25668# 396
25669__Ai = ((__rootx * __K_nu) / (__numeric_constants< _Tp> ::__sqrt3() * __numeric_constants< _Tp> ::__pi()));
25670# 399
25671__Bi = (__rootx * ((__K_nu / __numeric_constants< _Tp> ::__pi()) + ((((_Tp)2) * __I_nu) / __numeric_constants< _Tp> ::__sqrt3())));
25672# 402
25673__bessel_ik(((_Tp)2) / ((_Tp)3), __z, __I_nu, __K_nu, __Ip_nu, __Kp_nu);
25674# 403
25675__Aip = (((-__x) * __K_nu) / (__numeric_constants< _Tp> ::__sqrt3() * __numeric_constants< _Tp> ::__pi()));
25676# 406
25677__Bip = (__x * ((__K_nu / __numeric_constants< _Tp> ::__pi()) + ((((_Tp)2) * __I_nu) / __numeric_constants< _Tp> ::__sqrt3())));
25678# 409
25679} else {
25680# 410
25681if (__x < ((_Tp)0))
25682# 411
25683{
25684# 412
25685_Tp __J_nu, __Jp_nu, __N_nu, __Np_nu;
25686# 414
25687__bessel_jn(((_Tp)1) / ((_Tp)3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
25688# 415
25689__Ai = ((__rootx * (__J_nu - (__N_nu / __numeric_constants< _Tp> ::__sqrt3()))) / ((_Tp)2));
25690# 417
25691__Bi = (((-__rootx) * (__N_nu + (__J_nu / __numeric_constants< _Tp> ::__sqrt3()))) / ((_Tp)2));
25692# 420
25693__bessel_jn(((_Tp)2) / ((_Tp)3), __z, __J_nu, __N_nu, __Jp_nu, __Np_nu);
25694# 421
25695__Aip = ((__absx * ((__N_nu / __numeric_constants< _Tp> ::__sqrt3()) + __J_nu)) / ((_Tp)2));
25696# 423
25697__Bip = ((__absx * ((__J_nu / __numeric_constants< _Tp> ::__sqrt3()) - __N_nu)) / ((_Tp)2));
25698# 425
25699} else
25700# 427
25701{
25702# 431
25703__Ai = ((_Tp)(0.35502805388781723926L));
25704# 432
25705__Bi = (__Ai * __numeric_constants< _Tp> ::__sqrt3());
25706# 437
25707__Aip = (-((_Tp)(0.2588194037928067984L)));
25708# 438
25709__Bip = ((-__Aip) * __numeric_constants< _Tp> ::__sqrt3());
25710# 439
25711} } } } }
25712# 442
25713}
25714# 443
25715}
25716# 449
25717}
25718# 42 "/usr/include/c++/13/tr1/poly_hermite.tcc" 3
25719namespace std __attribute((__visibility__("default"))) {
25720# 56 "/usr/include/c++/13/tr1/poly_hermite.tcc" 3
25721namespace __detail {
25722# 72 "/usr/include/c++/13/tr1/poly_hermite.tcc" 3
25723template< class _Tp> _Tp
25724# 74
25725__poly_hermite_recursion(unsigned __n, _Tp __x)
25726# 75
25727{
25728# 77
25729_Tp __H_0 = (1);
25730# 78
25731if (__n == (0)) {
25732# 79
25733return __H_0; }
25734# 82
25735_Tp __H_1 = 2 * __x;
25736# 83
25737if (__n == (1)) {
25738# 84
25739return __H_1; }
25740# 87
25741_Tp __H_n, __H_nm1, __H_nm2;
25742# 88
25743unsigned __i;
25744# 89
25745for (((__H_nm2 = __H_0), (__H_nm1 = __H_1)), (__i = (2)); __i <= __n; ++__i)
25746# 90
25747{
25748# 91
25749__H_n = (2 * ((__x * __H_nm1) - ((__i - (1)) * __H_nm2)));
25750# 92
25751__H_nm2 = __H_nm1;
25752# 93
25753__H_nm1 = __H_n;
25754# 94
25755}
25756# 96
25757return __H_n;
25758# 97
25759}
25760# 114 "/usr/include/c++/13/tr1/poly_hermite.tcc" 3
25761template< class _Tp> inline _Tp
25762# 116
25763__poly_hermite(unsigned __n, _Tp __x)
25764# 117
25765{
25766# 118
25767if (__isnan(__x)) {
25768# 119
25769return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
25770# 121
25771return __poly_hermite_recursion(__n, __x); }
25772# 122
25773}
25774# 123
25775}
25776# 129
25777}
25778# 44 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25779namespace std __attribute((__visibility__("default"))) {
25780# 60 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25781namespace __detail {
25782# 75 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25783template< class _Tpa, class _Tp> _Tp
25784# 77
25785__poly_laguerre_large_n(unsigned __n, _Tpa __alpha1, _Tp __x)
25786# 78
25787{
25788# 79
25789const _Tp __a = (-((_Tp)__n));
25790# 80
25791const _Tp __b = ((_Tp)__alpha1) + ((_Tp)1);
25792# 81
25793const _Tp __eta = (((_Tp)2) * __b) - (((_Tp)4) * __a);
25794# 82
25795const _Tp __cos2th = __x / __eta;
25796# 83
25797const _Tp __sin2th = ((_Tp)1) - __cos2th;
25798# 84
25799const _Tp __th = std::acos(std::sqrt(__cos2th));
25800# 85
25801const _Tp __pre_h = ((((__numeric_constants< _Tp> ::__pi_2() * __numeric_constants< _Tp> ::__pi_2()) * __eta) * __eta) * __cos2th) * __sin2th;
25802# 90
25803const _Tp __lg_b = std::lgamma(((_Tp)__n) + __b);
25804# 91
25805const _Tp __lnfact = std::lgamma((_Tp)(__n + (1)));
25806# 97
25807_Tp __pre_term1 = (((_Tp)(0.5L)) * (((_Tp)1) - __b)) * std::log((((_Tp)(0.25L)) * __x) * __eta);
25808# 99
25809_Tp __pre_term2 = ((_Tp)(0.25L)) * std::log(__pre_h);
25810# 100
25811_Tp __lnpre = (((__lg_b - __lnfact) + (((_Tp)(0.5L)) * __x)) + __pre_term1) - __pre_term2;
25812# 102
25813_Tp __ser_term1 = std::sin(__a * __numeric_constants< _Tp> ::__pi());
25814# 103
25815_Tp __ser_term2 = std::sin(((((_Tp)(0.25L)) * __eta) * ((((_Tp)2) * __th) - std::sin(((_Tp)2) * __th))) + __numeric_constants< _Tp> ::__pi_4());
25816# 107
25817_Tp __ser = __ser_term1 + __ser_term2;
25818# 109
25819return std::exp(__lnpre) * __ser;
25820# 110
25821}
25822# 129 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25823template< class _Tpa, class _Tp> _Tp
25824# 131
25825__poly_laguerre_hyperg(unsigned __n, _Tpa __alpha1, _Tp __x)
25826# 132
25827{
25828# 133
25829const _Tp __b = ((_Tp)__alpha1) + ((_Tp)1);
25830# 134
25831const _Tp __mx = (-__x);
25832# 135
25833const _Tp __tc_sgn = (__x < ((_Tp)0)) ? (_Tp)1 : (((__n % (2)) == (1)) ? -((_Tp)1) : ((_Tp)1));
25834# 138
25835_Tp __tc = ((_Tp)1);
25836# 139
25837const _Tp __ax = std::abs(__x);
25838# 140
25839for (unsigned __k = (1); __k <= __n; ++__k) {
25840# 141
25841__tc *= (__ax / __k); }
25842# 143
25843_Tp __term = __tc * __tc_sgn;
25844# 144
25845_Tp __sum = __term;
25846# 145
25847for (int __k = ((int)__n) - 1; __k >= 0; --__k)
25848# 146
25849{
25850# 147
25851__term *= ((((__b + ((_Tp)__k)) / ((_Tp)(((int)__n) - __k))) * ((_Tp)(__k + 1))) / __mx);
25852# 149
25853__sum += __term;
25854# 150
25855}
25856# 152
25857return __sum;
25858# 153
25859}
25860# 185 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25861template< class _Tpa, class _Tp> _Tp
25862# 187
25863__poly_laguerre_recursion(unsigned __n, _Tpa __alpha1, _Tp __x)
25864# 188
25865{
25866# 190
25867_Tp __l_0 = ((_Tp)1);
25868# 191
25869if (__n == (0)) {
25870# 192
25871return __l_0; }
25872# 195
25873_Tp __l_1 = ((-__x) + ((_Tp)1)) + ((_Tp)__alpha1);
25874# 196
25875if (__n == (1)) {
25876# 197
25877return __l_1; }
25878# 200
25879_Tp __l_n2 = __l_0;
25880# 201
25881_Tp __l_n1 = __l_1;
25882# 202
25883_Tp __l_n = ((_Tp)0);
25884# 203
25885for (unsigned __nn = (2); __nn <= __n; ++__nn)
25886# 204
25887{
25888# 205
25889__l_n = (((((((_Tp)(((2) * __nn) - (1))) + ((_Tp)__alpha1)) - __x) * __l_n1) / ((_Tp)__nn)) - (((((_Tp)(__nn - (1))) + ((_Tp)__alpha1)) * __l_n2) / ((_Tp)__nn)));
25890# 208
25891__l_n2 = __l_n1;
25892# 209
25893__l_n1 = __l_n;
25894# 210
25895}
25896# 212
25897return __l_n;
25898# 213
25899}
25900# 244 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25901template< class _Tpa, class _Tp> _Tp
25902# 246
25903__poly_laguerre(unsigned __n, _Tpa __alpha1, _Tp __x)
25904# 247
25905{
25906# 248
25907if (__x < ((_Tp)0)) {
25908# 249
25909std::__throw_domain_error("Negative argument in __poly_laguerre."); } else {
25910# 252
25911if (__isnan(__x)) {
25912# 253
25913return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
25914# 254
25915if (__n == (0)) {
25916# 255
25917return (_Tp)1; } else {
25918# 256
25919if (__n == (1)) {
25920# 257
25921return (((_Tp)1) + ((_Tp)__alpha1)) - __x; } else {
25922# 258
25923if (__x == ((_Tp)0))
25924# 259
25925{
25926# 260
25927_Tp __prod = ((_Tp)__alpha1) + ((_Tp)1);
25928# 261
25929for (unsigned __k = (2); __k <= __n; ++__k) {
25930# 262
25931__prod *= ((((_Tp)__alpha1) + ((_Tp)__k)) / ((_Tp)__k)); }
25932# 263
25933return __prod;
25934# 264
25935} else {
25936# 265
25937if ((__n > (10000000)) && (((_Tp)__alpha1) > (-((_Tp)1))) && (__x < ((((_Tp)2) * (((_Tp)__alpha1) + ((_Tp)1))) + ((_Tp)((4) * __n))))) {
25938# 267
25939return __poly_laguerre_large_n(__n, __alpha1, __x); } else {
25940# 268
25941if ((((_Tp)__alpha1) >= ((_Tp)0)) || ((__x > ((_Tp)0)) && (((_Tp)__alpha1) < (-((_Tp)(__n + (1))))))) {
25942# 270
25943return __poly_laguerre_recursion(__n, __alpha1, __x); } else {
25944# 272
25945return __poly_laguerre_hyperg(__n, __alpha1, __x); } } } } } } }
25946# 273
25947}
25948# 296 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25949template< class _Tp> inline _Tp
25950# 298
25951__assoc_laguerre(unsigned __n, unsigned __m, _Tp __x)
25952# 299
25953{ return __poly_laguerre< unsigned, _Tp> (__n, __m, __x); }
25954# 316 "/usr/include/c++/13/tr1/poly_laguerre.tcc" 3
25955template< class _Tp> inline _Tp
25956# 318
25957__laguerre(unsigned __n, _Tp __x)
25958# 319
25959{ return __poly_laguerre< unsigned, _Tp> (__n, 0, __x); }
25960# 320
25961}
25962# 327
25963}
25964# 47 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
25965namespace std __attribute((__visibility__("default"))) {
25966# 63 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
25967namespace __detail {
25968# 78 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
25969template< class _Tp> _Tp
25970# 80
25971__riemann_zeta_sum(_Tp __s)
25972# 81
25973{
25974# 83
25975if (__s < ((_Tp)1)) {
25976# 84
25977std::__throw_domain_error("Bad argument in zeta sum."); }
25978# 86
25979const unsigned max_iter = (10000);
25980# 87
25981_Tp __zeta = ((_Tp)0);
25982# 88
25983for (unsigned __k = (1); __k < max_iter; ++__k)
25984# 89
25985{
25986# 90
25987_Tp __term = std::pow(static_cast< _Tp>(__k), -__s);
25988# 91
25989if (__term < std::template numeric_limits< _Tp> ::epsilon())
25990# 92
25991{
25992# 93
25993break;
25994# 94
25995}
25996# 95
25997__zeta += __term;
25998# 96
25999}
26000# 98
26001return __zeta;
26002# 99
26003}
26004# 115 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26005template< class _Tp> _Tp
26006# 117
26007__riemann_zeta_alt(_Tp __s)
26008# 118
26009{
26010# 119
26011_Tp __sgn = ((_Tp)1);
26012# 120
26013_Tp __zeta = ((_Tp)0);
26014# 121
26015for (unsigned __i = (1); __i < (10000000); ++__i)
26016# 122
26017{
26018# 123
26019_Tp __term = __sgn / std::pow(__i, __s);
26020# 124
26021if (std::abs(__term) < std::template numeric_limits< _Tp> ::epsilon()) {
26022# 125
26023break; }
26024# 126
26025__zeta += __term;
26026# 127
26027__sgn *= ((_Tp)(-1));
26028# 128
26029}
26030# 129
26031__zeta /= (((_Tp)1) - std::pow((_Tp)2, ((_Tp)1) - __s));
26032# 131
26033return __zeta;
26034# 132
26035}
26036# 157 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26037template< class _Tp> _Tp
26038# 159
26039__riemann_zeta_glob(_Tp __s)
26040# 160
26041{
26042# 161
26043_Tp __zeta = ((_Tp)0);
26044# 163
26045const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
26046# 165
26047const _Tp __max_bincoeff = (std::template numeric_limits< _Tp> ::max_exponent10 * std::log((_Tp)10)) - ((_Tp)1);
26048# 170
26049if (__s < ((_Tp)0))
26050# 171
26051{
26052# 173
26053if (std::fmod(__s, (_Tp)2) == ((_Tp)0)) {
26054# 174
26055return (_Tp)0; } else
26056# 177
26057{
26058# 178
26059_Tp __zeta = __riemann_zeta_glob(((_Tp)1) - __s);
26060# 179
26061__zeta *= (((std::pow(((_Tp)2) * __numeric_constants< _Tp> ::__pi(), __s) * std::sin(__numeric_constants< _Tp> ::__pi_2() * __s)) * std::exp(std::lgamma(((_Tp)1) - __s))) / __numeric_constants< _Tp> ::__pi());
26062# 188
26063return __zeta;
26064# 189
26065}
26066# 190
26067}
26068# 192
26069_Tp __num = ((_Tp)(0.5L));
26070# 193
26071const unsigned __maxit = (10000);
26072# 194
26073for (unsigned __i = (0); __i < __maxit; ++__i)
26074# 195
26075{
26076# 196
26077bool __punt = false;
26078# 197
26079_Tp __sgn = ((_Tp)1);
26080# 198
26081_Tp __term = ((_Tp)0);
26082# 199
26083for (unsigned __j = (0); __j <= __i; ++__j)
26084# 200
26085{
26086# 202
26087_Tp __bincoeff = (std::lgamma((_Tp)((1) + __i)) - std::lgamma((_Tp)((1) + __j))) - std::lgamma((_Tp)(((1) + __i) - __j));
26088# 210
26089if (__bincoeff > __max_bincoeff)
26090# 211
26091{
26092# 213
26093__punt = true;
26094# 214
26095break;
26096# 215
26097}
26098# 216
26099__bincoeff = std::exp(__bincoeff);
26100# 217
26101__term += ((__sgn * __bincoeff) * std::pow((_Tp)((1) + __j), -__s));
26102# 218
26103__sgn *= ((_Tp)(-1));
26104# 219
26105}
26106# 220
26107if (__punt) {
26108# 221
26109break; }
26110# 222
26111__term *= __num;
26112# 223
26113__zeta += __term;
26114# 224
26115if (std::abs(__term / __zeta) < __eps) {
26116# 225
26117break; }
26118# 226
26119__num *= ((_Tp)(0.5L));
26120# 227
26121}
26122# 229
26123__zeta /= (((_Tp)1) - std::pow((_Tp)2, ((_Tp)1) - __s));
26124# 231
26125return __zeta;
26126# 232
26127}
26128# 252 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26129template< class _Tp> _Tp
26130# 254
26131__riemann_zeta_product(_Tp __s)
26132# 255
26133{
26134# 256
26135static const _Tp __prime[] = {((_Tp)2), ((_Tp)3), ((_Tp)5), ((_Tp)7), ((_Tp)11), ((_Tp)13), ((_Tp)17), ((_Tp)19), ((_Tp)23), ((_Tp)29), ((_Tp)31), ((_Tp)37), ((_Tp)41), ((_Tp)43), ((_Tp)47), ((_Tp)53), ((_Tp)59), ((_Tp)61), ((_Tp)67), ((_Tp)71), ((_Tp)73), ((_Tp)79), ((_Tp)83), ((_Tp)89), ((_Tp)97), ((_Tp)101), ((_Tp)103), ((_Tp)107), ((_Tp)109)};
26136# 262
26137static const unsigned __num_primes = (sizeof(__prime) / sizeof(_Tp));
26138# 264
26139_Tp __zeta = ((_Tp)1);
26140# 265
26141for (unsigned __i = (0); __i < __num_primes; ++__i)
26142# 266
26143{
26144# 267
26145const _Tp __fact = ((_Tp)1) - std::pow(__prime[__i], -__s);
26146# 268
26147__zeta *= __fact;
26148# 269
26149if ((((_Tp)1) - __fact) < std::template numeric_limits< _Tp> ::epsilon()) {
26150# 270
26151break; }
26152# 271
26153}
26154# 273
26155__zeta = (((_Tp)1) / __zeta);
26156# 275
26157return __zeta;
26158# 276
26159}
26160# 293 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26161template< class _Tp> _Tp
26162# 295
26163__riemann_zeta(_Tp __s)
26164# 296
26165{
26166# 297
26167if (__isnan(__s)) {
26168# 298
26169return std::template numeric_limits< _Tp> ::quiet_NaN(); } else {
26170# 299
26171if (__s == ((_Tp)1)) {
26172# 300
26173return std::template numeric_limits< _Tp> ::infinity(); } else {
26174# 301
26175if (__s < (-((_Tp)19)))
26176# 302
26177{
26178# 303
26179_Tp __zeta = __riemann_zeta_product(((_Tp)1) - __s);
26180# 304
26181__zeta *= (((std::pow(((_Tp)2) * __numeric_constants< _Tp> ::__pi(), __s) * std::sin(__numeric_constants< _Tp> ::__pi_2() * __s)) * std::exp(std::lgamma(((_Tp)1) - __s))) / __numeric_constants< _Tp> ::__pi());
26182# 312
26183return __zeta;
26184# 313
26185} else {
26186# 314
26187if (__s < ((_Tp)20))
26188# 315
26189{
26190# 317
26191bool __glob = true;
26192# 318
26193if (__glob) {
26194# 319
26195return __riemann_zeta_glob(__s); } else
26196# 321
26197{
26198# 322
26199if (__s > ((_Tp)1)) {
26200# 323
26201return __riemann_zeta_sum(__s); } else
26202# 325
26203{
26204# 326
26205_Tp __zeta = ((std::pow(((_Tp)2) * __numeric_constants< _Tp> ::__pi(), __s) * std::sin(__numeric_constants< _Tp> ::__pi_2() * __s)) * std::tgamma(((_Tp)1) - __s)) * __riemann_zeta_sum(((_Tp)1) - __s);
26206# 335
26207return __zeta;
26208# 336
26209}
26210# 337
26211}
26212# 338
26213} else {
26214# 340
26215return __riemann_zeta_product(__s); } } } }
26216# 341
26217}
26218# 365 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26219template< class _Tp> _Tp
26220# 367
26221__hurwitz_zeta_glob(_Tp __a, _Tp __s)
26222# 368
26223{
26224# 369
26225_Tp __zeta = ((_Tp)0);
26226# 371
26227const _Tp __eps = std::template numeric_limits< _Tp> ::epsilon();
26228# 373
26229const _Tp __max_bincoeff = (std::template numeric_limits< _Tp> ::max_exponent10 * std::log((_Tp)10)) - ((_Tp)1);
26230# 376
26231const unsigned __maxit = (10000);
26232# 377
26233for (unsigned __i = (0); __i < __maxit; ++__i)
26234# 378
26235{
26236# 379
26237bool __punt = false;
26238# 380
26239_Tp __sgn = ((_Tp)1);
26240# 381
26241_Tp __term = ((_Tp)0);
26242# 382
26243for (unsigned __j = (0); __j <= __i; ++__j)
26244# 383
26245{
26246# 385
26247_Tp __bincoeff = (std::lgamma((_Tp)((1) + __i)) - std::lgamma((_Tp)((1) + __j))) - std::lgamma((_Tp)(((1) + __i) - __j));
26248# 393
26249if (__bincoeff > __max_bincoeff)
26250# 394
26251{
26252# 396
26253__punt = true;
26254# 397
26255break;
26256# 398
26257}
26258# 399
26259__bincoeff = std::exp(__bincoeff);
26260# 400
26261__term += ((__sgn * __bincoeff) * std::pow((_Tp)(__a + __j), -__s));
26262# 401
26263__sgn *= ((_Tp)(-1));
26264# 402
26265}
26266# 403
26267if (__punt) {
26268# 404
26269break; }
26270# 405
26271__term /= ((_Tp)(__i + (1)));
26272# 406
26273if (std::abs(__term / __zeta) < __eps) {
26274# 407
26275break; }
26276# 408
26277__zeta += __term;
26278# 409
26279}
26280# 411
26281__zeta /= (__s - ((_Tp)1));
26282# 413
26283return __zeta;
26284# 414
26285}
26286# 430 "/usr/include/c++/13/tr1/riemann_zeta.tcc" 3
26287template< class _Tp> inline _Tp
26288# 432
26289__hurwitz_zeta(_Tp __a, _Tp __s)
26290# 433
26291{ return __hurwitz_zeta_glob(__a, __s); }
26292# 434
26293}
26294# 441
26295}
26296# 59 "/usr/include/c++/13/bits/specfun.h" 3
26297namespace std __attribute((__visibility__("default"))) {
26298# 204 "/usr/include/c++/13/bits/specfun.h" 3
26299inline float assoc_laguerref(unsigned __n, unsigned __m, float __x)
26300# 205
26301{ return __detail::__assoc_laguerre< float> (__n, __m, __x); }
26302# 214
26303inline long double assoc_laguerrel(unsigned __n, unsigned __m, long double __x)
26304# 215
26305{ return __detail::__assoc_laguerre< long double> (__n, __m, __x); }
26306# 248 "/usr/include/c++/13/bits/specfun.h" 3
26307template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26308# 250
26309assoc_laguerre(unsigned __n, unsigned __m, _Tp __x)
26310# 251
26311{
26312# 252
26313typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26314# 253
26315return __detail::__assoc_laguerre< typename __gnu_cxx::__promote< _Tp> ::__type> (__n, __m, __x);
26316# 254
26317}
26318# 265 "/usr/include/c++/13/bits/specfun.h" 3
26319inline float assoc_legendref(unsigned __l, unsigned __m, float __x)
26320# 266
26321{ return __detail::__assoc_legendre_p< float> (__l, __m, __x); }
26322# 274
26323inline long double assoc_legendrel(unsigned __l, unsigned __m, long double __x)
26324# 275
26325{ return __detail::__assoc_legendre_p< long double> (__l, __m, __x); }
26326# 294 "/usr/include/c++/13/bits/specfun.h" 3
26327template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26328# 296
26329assoc_legendre(unsigned __l, unsigned __m, _Tp __x)
26330# 297
26331{
26332# 298
26333typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26334# 299
26335return __detail::__assoc_legendre_p< typename __gnu_cxx::__promote< _Tp> ::__type> (__l, __m, __x);
26336# 300
26337}
26338# 310 "/usr/include/c++/13/bits/specfun.h" 3
26339inline float betaf(float __a, float __b)
26340# 311
26341{ return __detail::__beta< float> (__a, __b); }
26342# 320
26343inline long double betal(long double __a, long double __b)
26344# 321
26345{ return __detail::__beta< long double> (__a, __b); }
26346# 339 "/usr/include/c++/13/bits/specfun.h" 3
26347template< class _Tpa, class _Tpb> inline typename __gnu_cxx::__promote_2< _Tpa, _Tpb> ::__type
26348# 341
26349beta(_Tpa __a, _Tpb __b)
26350# 342
26351{
26352# 343
26353typedef typename __gnu_cxx::__promote_2< _Tpa, _Tpb> ::__type __type;
26354# 344
26355return __detail::__beta< typename __gnu_cxx::__promote_2< _Tpa, _Tpb> ::__type> (__a, __b);
26356# 345
26357}
26358# 356 "/usr/include/c++/13/bits/specfun.h" 3
26359inline float comp_ellint_1f(float __k)
26360# 357
26361{ return __detail::__comp_ellint_1< float> (__k); }
26362# 366
26363inline long double comp_ellint_1l(long double __k)
26364# 367
26365{ return __detail::__comp_ellint_1< long double> (__k); }
26366# 387 "/usr/include/c++/13/bits/specfun.h" 3
26367template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26368# 389
26369comp_ellint_1(_Tp __k)
26370# 390
26371{
26372# 391
26373typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26374# 392
26375return __detail::__comp_ellint_1< typename __gnu_cxx::__promote< _Tp> ::__type> (__k);
26376# 393
26377}
26378# 404 "/usr/include/c++/13/bits/specfun.h" 3
26379inline float comp_ellint_2f(float __k)
26380# 405
26381{ return __detail::__comp_ellint_2< float> (__k); }
26382# 414
26383inline long double comp_ellint_2l(long double __k)
26384# 415
26385{ return __detail::__comp_ellint_2< long double> (__k); }
26386# 434 "/usr/include/c++/13/bits/specfun.h" 3
26387template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26388# 436
26389comp_ellint_2(_Tp __k)
26390# 437
26391{
26392# 438
26393typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26394# 439
26395return __detail::__comp_ellint_2< typename __gnu_cxx::__promote< _Tp> ::__type> (__k);
26396# 440
26397}
26398# 451 "/usr/include/c++/13/bits/specfun.h" 3
26399inline float comp_ellint_3f(float __k, float __nu)
26400# 452
26401{ return __detail::__comp_ellint_3< float> (__k, __nu); }
26402# 461
26403inline long double comp_ellint_3l(long double __k, long double __nu)
26404# 462
26405{ return __detail::__comp_ellint_3< long double> (__k, __nu); }
26406# 485 "/usr/include/c++/13/bits/specfun.h" 3
26407template< class _Tp, class _Tpn> inline typename __gnu_cxx::__promote_2< _Tp, _Tpn> ::__type
26408# 487
26409comp_ellint_3(_Tp __k, _Tpn __nu)
26410# 488
26411{
26412# 489
26413typedef typename __gnu_cxx::__promote_2< _Tp, _Tpn> ::__type __type;
26414# 490
26415return __detail::__comp_ellint_3< typename __gnu_cxx::__promote_2< _Tp, _Tpn> ::__type> (__k, __nu);
26416# 491
26417}
26418# 502 "/usr/include/c++/13/bits/specfun.h" 3
26419inline float cyl_bessel_if(float __nu, float __x)
26420# 503
26421{ return __detail::__cyl_bessel_i< float> (__nu, __x); }
26422# 512
26423inline long double cyl_bessel_il(long double __nu, long double __x)
26424# 513
26425{ return __detail::__cyl_bessel_i< long double> (__nu, __x); }
26426# 531 "/usr/include/c++/13/bits/specfun.h" 3
26427template< class _Tpnu, class _Tp> inline typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type
26428# 533
26429cyl_bessel_i(_Tpnu __nu, _Tp __x)
26430# 534
26431{
26432# 535
26433typedef typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type __type;
26434# 536
26435return __detail::__cyl_bessel_i< typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type> (__nu, __x);
26436# 537
26437}
26438# 548 "/usr/include/c++/13/bits/specfun.h" 3
26439inline float cyl_bessel_jf(float __nu, float __x)
26440# 549
26441{ return __detail::__cyl_bessel_j< float> (__nu, __x); }
26442# 558
26443inline long double cyl_bessel_jl(long double __nu, long double __x)
26444# 559
26445{ return __detail::__cyl_bessel_j< long double> (__nu, __x); }
26446# 577 "/usr/include/c++/13/bits/specfun.h" 3
26447template< class _Tpnu, class _Tp> inline typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type
26448# 579
26449cyl_bessel_j(_Tpnu __nu, _Tp __x)
26450# 580
26451{
26452# 581
26453typedef typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type __type;
26454# 582
26455return __detail::__cyl_bessel_j< typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type> (__nu, __x);
26456# 583
26457}
26458# 594 "/usr/include/c++/13/bits/specfun.h" 3
26459inline float cyl_bessel_kf(float __nu, float __x)
26460# 595
26461{ return __detail::__cyl_bessel_k< float> (__nu, __x); }
26462# 604
26463inline long double cyl_bessel_kl(long double __nu, long double __x)
26464# 605
26465{ return __detail::__cyl_bessel_k< long double> (__nu, __x); }
26466# 629 "/usr/include/c++/13/bits/specfun.h" 3
26467template< class _Tpnu, class _Tp> inline typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type
26468# 631
26469cyl_bessel_k(_Tpnu __nu, _Tp __x)
26470# 632
26471{
26472# 633
26473typedef typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type __type;
26474# 634
26475return __detail::__cyl_bessel_k< typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type> (__nu, __x);
26476# 635
26477}
26478# 646 "/usr/include/c++/13/bits/specfun.h" 3
26479inline float cyl_neumannf(float __nu, float __x)
26480# 647
26481{ return __detail::__cyl_neumann_n< float> (__nu, __x); }
26482# 656
26483inline long double cyl_neumannl(long double __nu, long double __x)
26484# 657
26485{ return __detail::__cyl_neumann_n< long double> (__nu, __x); }
26486# 677 "/usr/include/c++/13/bits/specfun.h" 3
26487template< class _Tpnu, class _Tp> inline typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type
26488# 679
26489cyl_neumann(_Tpnu __nu, _Tp __x)
26490# 680
26491{
26492# 681
26493typedef typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type __type;
26494# 682
26495return __detail::__cyl_neumann_n< typename __gnu_cxx::__promote_2< _Tpnu, _Tp> ::__type> (__nu, __x);
26496# 683
26497}
26498# 694 "/usr/include/c++/13/bits/specfun.h" 3
26499inline float ellint_1f(float __k, float __phi)
26500# 695
26501{ return __detail::__ellint_1< float> (__k, __phi); }
26502# 704
26503inline long double ellint_1l(long double __k, long double __phi)
26504# 705
26505{ return __detail::__ellint_1< long double> (__k, __phi); }
26506# 725 "/usr/include/c++/13/bits/specfun.h" 3
26507template< class _Tp, class _Tpp> inline typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type
26508# 727
26509ellint_1(_Tp __k, _Tpp __phi)
26510# 728
26511{
26512# 729
26513typedef typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type __type;
26514# 730
26515return __detail::__ellint_1< typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type> (__k, __phi);
26516# 731
26517}
26518# 742 "/usr/include/c++/13/bits/specfun.h" 3
26519inline float ellint_2f(float __k, float __phi)
26520# 743
26521{ return __detail::__ellint_2< float> (__k, __phi); }
26522# 752
26523inline long double ellint_2l(long double __k, long double __phi)
26524# 753
26525{ return __detail::__ellint_2< long double> (__k, __phi); }
26526# 773 "/usr/include/c++/13/bits/specfun.h" 3
26527template< class _Tp, class _Tpp> inline typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type
26528# 775
26529ellint_2(_Tp __k, _Tpp __phi)
26530# 776
26531{
26532# 777
26533typedef typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type __type;
26534# 778
26535return __detail::__ellint_2< typename __gnu_cxx::__promote_2< _Tp, _Tpp> ::__type> (__k, __phi);
26536# 779
26537}
26538# 790 "/usr/include/c++/13/bits/specfun.h" 3
26539inline float ellint_3f(float __k, float __nu, float __phi)
26540# 791
26541{ return __detail::__ellint_3< float> (__k, __nu, __phi); }
26542# 800
26543inline long double ellint_3l(long double __k, long double __nu, long double __phi)
26544# 801
26545{ return __detail::__ellint_3< long double> (__k, __nu, __phi); }
26546# 826 "/usr/include/c++/13/bits/specfun.h" 3
26547template< class _Tp, class _Tpn, class _Tpp> inline typename __gnu_cxx::__promote_3< _Tp, _Tpn, _Tpp> ::__type
26548# 828
26549ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
26550# 829
26551{
26552# 830
26553typedef typename __gnu_cxx::__promote_3< _Tp, _Tpn, _Tpp> ::__type __type;
26554# 831
26555return __detail::__ellint_3< typename __gnu_cxx::__promote_3< _Tp, _Tpn, _Tpp> ::__type> (__k, __nu, __phi);
26556# 832
26557}
26558# 842 "/usr/include/c++/13/bits/specfun.h" 3
26559inline float expintf(float __x)
26560# 843
26561{ return __detail::__expint< float> (__x); }
26562# 852
26563inline long double expintl(long double __x)
26564# 853
26565{ return __detail::__expint< long double> (__x); }
26566# 866 "/usr/include/c++/13/bits/specfun.h" 3
26567template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26568# 868
26569expint(_Tp __x)
26570# 869
26571{
26572# 870
26573typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26574# 871
26575return __detail::__expint< typename __gnu_cxx::__promote< _Tp> ::__type> (__x);
26576# 872
26577}
26578# 883 "/usr/include/c++/13/bits/specfun.h" 3
26579inline float hermitef(unsigned __n, float __x)
26580# 884
26581{ return __detail::__poly_hermite< float> (__n, __x); }
26582# 893
26583inline long double hermitel(unsigned __n, long double __x)
26584# 894
26585{ return __detail::__poly_hermite< long double> (__n, __x); }
26586# 914 "/usr/include/c++/13/bits/specfun.h" 3
26587template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26588# 916
26589hermite(unsigned __n, _Tp __x)
26590# 917
26591{
26592# 918
26593typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26594# 919
26595return __detail::__poly_hermite< typename __gnu_cxx::__promote< _Tp> ::__type> (__n, __x);
26596# 920
26597}
26598# 931 "/usr/include/c++/13/bits/specfun.h" 3
26599inline float laguerref(unsigned __n, float __x)
26600# 932
26601{ return __detail::__laguerre< float> (__n, __x); }
26602# 941
26603inline long double laguerrel(unsigned __n, long double __x)
26604# 942
26605{ return __detail::__laguerre< long double> (__n, __x); }
26606# 958 "/usr/include/c++/13/bits/specfun.h" 3
26607template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26608# 960
26609laguerre(unsigned __n, _Tp __x)
26610# 961
26611{
26612# 962
26613typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26614# 963
26615return __detail::__laguerre< typename __gnu_cxx::__promote< _Tp> ::__type> (__n, __x);
26616# 964
26617}
26618# 975 "/usr/include/c++/13/bits/specfun.h" 3
26619inline float legendref(unsigned __l, float __x)
26620# 976
26621{ return __detail::__poly_legendre_p< float> (__l, __x); }
26622# 985
26623inline long double legendrel(unsigned __l, long double __x)
26624# 986
26625{ return __detail::__poly_legendre_p< long double> (__l, __x); }
26626# 1003 "/usr/include/c++/13/bits/specfun.h" 3
26627template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26628# 1005
26629legendre(unsigned __l, _Tp __x)
26630# 1006
26631{
26632# 1007
26633typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26634# 1008
26635return __detail::__poly_legendre_p< typename __gnu_cxx::__promote< _Tp> ::__type> (__l, __x);
26636# 1009
26637}
26638# 1020 "/usr/include/c++/13/bits/specfun.h" 3
26639inline float riemann_zetaf(float __s)
26640# 1021
26641{ return __detail::__riemann_zeta< float> (__s); }
26642# 1030
26643inline long double riemann_zetal(long double __s)
26644# 1031
26645{ return __detail::__riemann_zeta< long double> (__s); }
26646# 1054 "/usr/include/c++/13/bits/specfun.h" 3
26647template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26648# 1056
26649riemann_zeta(_Tp __s)
26650# 1057
26651{
26652# 1058
26653typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26654# 1059
26655return __detail::__riemann_zeta< typename __gnu_cxx::__promote< _Tp> ::__type> (__s);
26656# 1060
26657}
26658# 1071 "/usr/include/c++/13/bits/specfun.h" 3
26659inline float sph_besself(unsigned __n, float __x)
26660# 1072
26661{ return __detail::__sph_bessel< float> (__n, __x); }
26662# 1081
26663inline long double sph_bessell(unsigned __n, long double __x)
26664# 1082
26665{ return __detail::__sph_bessel< long double> (__n, __x); }
26666# 1098 "/usr/include/c++/13/bits/specfun.h" 3
26667template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26668# 1100
26669sph_bessel(unsigned __n, _Tp __x)
26670# 1101
26671{
26672# 1102
26673typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26674# 1103
26675return __detail::__sph_bessel< typename __gnu_cxx::__promote< _Tp> ::__type> (__n, __x);
26676# 1104
26677}
26678# 1115 "/usr/include/c++/13/bits/specfun.h" 3
26679inline float sph_legendref(unsigned __l, unsigned __m, float __theta)
26680# 1116
26681{ return __detail::__sph_legendre< float> (__l, __m, __theta); }
26682# 1126 "/usr/include/c++/13/bits/specfun.h" 3
26683inline long double sph_legendrel(unsigned __l, unsigned __m, long double __theta)
26684# 1127
26685{ return __detail::__sph_legendre< long double> (__l, __m, __theta); }
26686# 1145 "/usr/include/c++/13/bits/specfun.h" 3
26687template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26688# 1147
26689sph_legendre(unsigned __l, unsigned __m, _Tp __theta)
26690# 1148
26691{
26692# 1149
26693typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26694# 1150
26695return __detail::__sph_legendre< typename __gnu_cxx::__promote< _Tp> ::__type> (__l, __m, __theta);
26696# 1151
26697}
26698# 1162 "/usr/include/c++/13/bits/specfun.h" 3
26699inline float sph_neumannf(unsigned __n, float __x)
26700# 1163
26701{ return __detail::__sph_neumann< float> (__n, __x); }
26702# 1172
26703inline long double sph_neumannl(unsigned __n, long double __x)
26704# 1173
26705{ return __detail::__sph_neumann< long double> (__n, __x); }
26706# 1189 "/usr/include/c++/13/bits/specfun.h" 3
26707template< class _Tp> inline typename __gnu_cxx::__promote< _Tp> ::__type
26708# 1191
26709sph_neumann(unsigned __n, _Tp __x)
26710# 1192
26711{
26712# 1193
26713typedef typename __gnu_cxx::__promote< _Tp> ::__type __type;
26714# 1194
26715return __detail::__sph_neumann< typename __gnu_cxx::__promote< _Tp> ::__type> (__n, __x);
26716# 1195
26717}
26718# 1200
26719}
26720# 1203
26721namespace __gnu_cxx __attribute((__visibility__("default"))) {
26722# 1217 "/usr/include/c++/13/bits/specfun.h" 3
26723inline float airy_aif(float __x)
26724# 1218
26725{
26726# 1219
26727float __Ai, __Bi, __Aip, __Bip;
26728# 1220
26729std::__detail::__airy< float> (__x, __Ai, __Bi, __Aip, __Bip);
26730# 1221
26731return __Ai;
26732# 1222
26733}
26734# 1228
26735inline long double airy_ail(long double __x)
26736# 1229
26737{
26738# 1230
26739long double __Ai, __Bi, __Aip, __Bip;
26740# 1231
26741std::__detail::__airy< long double> (__x, __Ai, __Bi, __Aip, __Bip);
26742# 1232
26743return __Ai;
26744# 1233
26745}
26746# 1238
26747template< class _Tp> inline typename __promote< _Tp> ::__type
26748# 1240
26749airy_ai(_Tp __x)
26750# 1241
26751{
26752# 1242
26753typedef typename __promote< _Tp> ::__type __type;
26754# 1243
26755__type __Ai, __Bi, __Aip, __Bip;
26756# 1244
26757std::__detail::__airy< typename __promote< _Tp> ::__type> (__x, __Ai, __Bi, __Aip, __Bip);
26758# 1245
26759return __Ai;
26760# 1246
26761}
26762# 1252
26763inline float airy_bif(float __x)
26764# 1253
26765{
26766# 1254
26767float __Ai, __Bi, __Aip, __Bip;
26768# 1255
26769std::__detail::__airy< float> (__x, __Ai, __Bi, __Aip, __Bip);
26770# 1256
26771return __Bi;
26772# 1257
26773}
26774# 1263
26775inline long double airy_bil(long double __x)
26776# 1264
26777{
26778# 1265
26779long double __Ai, __Bi, __Aip, __Bip;
26780# 1266
26781std::__detail::__airy< long double> (__x, __Ai, __Bi, __Aip, __Bip);
26782# 1267
26783return __Bi;
26784# 1268
26785}
26786# 1273
26787template< class _Tp> inline typename __promote< _Tp> ::__type
26788# 1275
26789airy_bi(_Tp __x)
26790# 1276
26791{
26792# 1277
26793typedef typename __promote< _Tp> ::__type __type;
26794# 1278
26795__type __Ai, __Bi, __Aip, __Bip;
26796# 1279
26797std::__detail::__airy< typename __promote< _Tp> ::__type> (__x, __Ai, __Bi, __Aip, __Bip);
26798# 1280
26799return __Bi;
26800# 1281
26801}
26802# 1293 "/usr/include/c++/13/bits/specfun.h" 3
26803inline float conf_hypergf(float __a, float __c, float __x)
26804# 1294
26805{ return std::__detail::__conf_hyperg< float> (__a, __c, __x); }
26806# 1304 "/usr/include/c++/13/bits/specfun.h" 3
26807inline long double conf_hypergl(long double __a, long double __c, long double __x)
26808# 1305
26809{ return std::__detail::__conf_hyperg< long double> (__a, __c, __x); }
26810# 1323 "/usr/include/c++/13/bits/specfun.h" 3
26811template< class _Tpa, class _Tpc, class _Tp> inline typename __promote_3< _Tpa, _Tpc, _Tp> ::__type
26812# 1325
26813conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x)
26814# 1326
26815{
26816# 1327
26817typedef typename __promote_3< _Tpa, _Tpc, _Tp> ::__type __type;
26818# 1328
26819return std::__detail::__conf_hyperg< typename __promote_3< _Tpa, _Tpc, _Tp> ::__type> (__a, __c, __x);
26820# 1329
26821}
26822# 1341 "/usr/include/c++/13/bits/specfun.h" 3
26823inline float hypergf(float __a, float __b, float __c, float __x)
26824# 1342
26825{ return std::__detail::__hyperg< float> (__a, __b, __c, __x); }
26826# 1352 "/usr/include/c++/13/bits/specfun.h" 3
26827inline long double hypergl(long double __a, long double __b, long double __c, long double __x)
26828# 1353
26829{ return std::__detail::__hyperg< long double> (__a, __b, __c, __x); }
26830# 1372 "/usr/include/c++/13/bits/specfun.h" 3
26831template< class _Tpa, class _Tpb, class _Tpc, class _Tp> inline typename __promote_4< _Tpa, _Tpb, _Tpc, _Tp> ::__type
26832# 1374
26833hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
26834# 1375
26835{
26836# 1377
26837typedef typename __promote_4< _Tpa, _Tpb, _Tpc, _Tp> ::__type __type;
26838# 1378
26839return std::__detail::__hyperg< typename __promote_4< _Tpa, _Tpb, _Tpc, _Tp> ::__type> (__a, __b, __c, __x);
26840# 1379
26841}
26842# 1383
26843}
26844# 3702 "/usr/include/c++/13/cmath" 3
26845}
26846# 38 "/usr/include/c++/13/math.h" 3
26847using std::abs;
26848# 39
26849using std::acos;
26850# 40
26851using std::asin;
26852# 41
26853using std::atan;
26854# 42
26855using std::atan2;
26856# 43
26857using std::cos;
26858# 44
26859using std::sin;
26860# 45
26861using std::tan;
26862# 46
26863using std::cosh;
26864# 47
26865using std::sinh;
26866# 48
26867using std::tanh;
26868# 49
26869using std::exp;
26870# 50
26871using std::frexp;
26872# 51
26873using std::ldexp;
26874# 52
26875using std::log;
26876# 53
26877using std::log10;
26878# 54
26879using std::modf;
26880# 55
26881using std::pow;
26882# 56
26883using std::sqrt;
26884# 57
26885using std::ceil;
26886# 58
26887using std::fabs;
26888# 59
26889using std::floor;
26890# 60
26891using std::fmod;
26892# 63
26893using std::fpclassify;
26894# 64
26895using std::isfinite;
26896# 65
26897using std::isinf;
26898# 66
26899using std::isnan;
26900# 67
26901using std::isnormal;
26902# 68
26903using std::signbit;
26904# 69
26905using std::isgreater;
26906# 70
26907using std::isgreaterequal;
26908# 71
26909using std::isless;
26910# 72
26911using std::islessequal;
26912# 73
26913using std::islessgreater;
26914# 74
26915using std::isunordered;
26916# 78
26917using std::acosh;
26918# 79
26919using std::asinh;
26920# 80
26921using std::atanh;
26922# 81
26923using std::cbrt;
26924# 82
26925using std::copysign;
26926# 83
26927using std::erf;
26928# 84
26929using std::erfc;
26930# 85
26931using std::exp2;
26932# 86
26933using std::expm1;
26934# 87
26935using std::fdim;
26936# 88
26937using std::fma;
26938# 89
26939using std::fmax;
26940# 90
26941using std::fmin;
26942# 91
26943using std::hypot;
26944# 92
26945using std::ilogb;
26946# 93
26947using std::lgamma;
26948# 94
26949using std::llrint;
26950# 95
26951using std::llround;
26952# 96
26953using std::log1p;
26954# 97
26955using std::log2;
26956# 98
26957using std::logb;
26958# 99
26959using std::lrint;
26960# 100
26961using std::lround;
26962# 101
26963using std::nearbyint;
26964# 102
26965using std::nextafter;
26966# 103
26967using std::nexttoward;
26968# 104
26969using std::remainder;
26970# 105
26971using std::remquo;
26972# 106
26973using std::rint;
26974# 107
26975using std::round;
26976# 108
26977using std::scalbln;
26978# 109
26979using std::scalbn;
26980# 110
26981using std::tgamma;
26982# 111
26983using std::trunc;
26984# 4653 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
26985namespace std {
26986# 4654
26987constexpr bool signbit(float x);
26988# 4655
26989constexpr bool signbit(double x);
26990# 4656
26991constexpr bool signbit(long double x);
26992# 4657
26993constexpr bool isfinite(float x);
26994# 4658
26995constexpr bool isfinite(double x);
26996# 4659
26997constexpr bool isfinite(long double x);
26998# 4660
26999constexpr bool isnan(float x);
27000# 4665
27001constexpr bool isnan(double x);
27002# 4667
27003constexpr bool isnan(long double x);
27004# 4668
27005constexpr bool isinf(float x);
27006# 4673
27007constexpr bool isinf(double x);
27008# 4675
27009constexpr bool isinf(long double x);
27010# 4676
27011}
27012# 4832 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27013namespace std {
27014# 4834
27015template< class T> extern T __pow_helper(T, int);
27016# 4835
27017template< class T> extern T __cmath_power(T, unsigned);
27018# 4836
27019}
27020# 4838
27021using std::abs;
27022# 4839
27023using std::fabs;
27024# 4840
27025using std::ceil;
27026# 4841
27027using std::floor;
27028# 4842
27029using std::sqrt;
27030# 4844
27031using std::pow;
27032# 4846
27033using std::log;
27034# 4847
27035using std::log10;
27036# 4848
27037using std::fmod;
27038# 4849
27039using std::modf;
27040# 4850
27041using std::exp;
27042# 4851
27043using std::frexp;
27044# 4852
27045using std::ldexp;
27046# 4853
27047using std::asin;
27048# 4854
27049using std::sin;
27050# 4855
27051using std::sinh;
27052# 4856
27053using std::acos;
27054# 4857
27055using std::cos;
27056# 4858
27057using std::cosh;
27058# 4859
27059using std::atan;
27060# 4860
27061using std::atan2;
27062# 4861
27063using std::tan;
27064# 4862
27065using std::tanh;
27066# 5243 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27067namespace std {
27068# 5252 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27069extern inline long long abs(long long);
27070# 5272 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27071extern inline long abs(long a);
27072# 5273
27073extern constexpr float abs(float);
27074# 5274
27075extern constexpr double abs(double);
27076# 5275
27077extern constexpr float fabs(float);
27078# 5276
27079extern constexpr float ceil(float);
27080# 5277
27081extern constexpr float floor(float);
27082# 5278
27083extern constexpr float sqrt(float);
27084# 5279
27085extern constexpr float pow(float, float);
27086# 5284
27087template< class _Tp, class _Up> extern constexpr typename __gnu_cxx::__promote_2< _Tp, _Up> ::__type pow(_Tp, _Up);
27088# 5294
27089extern constexpr float log(float);
27090# 5295
27091extern constexpr float log10(float);
27092# 5296
27093extern constexpr float fmod(float, float);
27094# 5297
27095extern inline float modf(float, float *);
27096# 5298
27097extern constexpr float exp(float);
27098# 5299
27099extern inline float frexp(float, int *);
27100# 5300
27101extern constexpr float ldexp(float, int);
27102# 5301
27103extern constexpr float asin(float);
27104# 5302
27105extern constexpr float sin(float);
27106# 5303
27107extern constexpr float sinh(float);
27108# 5304
27109extern constexpr float acos(float);
27110# 5305
27111extern constexpr float cos(float);
27112# 5306
27113extern constexpr float cosh(float);
27114# 5307
27115extern constexpr float atan(float);
27116# 5308
27117extern constexpr float atan2(float, float);
27118# 5309
27119extern constexpr float tan(float);
27120# 5310
27121extern constexpr float tanh(float);
27122# 5399 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27123}
27124# 5505 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27125namespace std {
27126# 5506
27127constexpr float logb(float a);
27128# 5507
27129constexpr int ilogb(float a);
27130# 5508
27131constexpr float scalbn(float a, int b);
27132# 5509
27133constexpr float scalbln(float a, long b);
27134# 5510
27135constexpr float exp2(float a);
27136# 5511
27137constexpr float expm1(float a);
27138# 5512
27139constexpr float log2(float a);
27140# 5513
27141constexpr float log1p(float a);
27142# 5514
27143constexpr float acosh(float a);
27144# 5515
27145constexpr float asinh(float a);
27146# 5516
27147constexpr float atanh(float a);
27148# 5517
27149constexpr float hypot(float a, float b);
27150# 5518
27151constexpr float cbrt(float a);
27152# 5519
27153constexpr float erf(float a);
27154# 5520
27155constexpr float erfc(float a);
27156# 5521
27157constexpr float lgamma(float a);
27158# 5522
27159constexpr float tgamma(float a);
27160# 5523
27161constexpr float copysign(float a, float b);
27162# 5524
27163constexpr float nextafter(float a, float b);
27164# 5525
27165constexpr float remainder(float a, float b);
27166# 5526
27167inline float remquo(float a, float b, int * quo);
27168# 5527
27169constexpr float round(float a);
27170# 5528
27171constexpr long lround(float a);
27172# 5529
27173constexpr long long llround(float a);
27174# 5530
27175constexpr float trunc(float a);
27176# 5531
27177constexpr float rint(float a);
27178# 5532
27179constexpr long lrint(float a);
27180# 5533
27181constexpr long long llrint(float a);
27182# 5534
27183constexpr float nearbyint(float a);
27184# 5535
27185constexpr float fdim(float a, float b);
27186# 5536
27187constexpr float fma(float a, float b, float c);
27188# 5537
27189constexpr float fmax(float a, float b);
27190# 5538
27191constexpr float fmin(float a, float b);
27192# 5539
27193}
27194# 5644 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27195static inline float exp10(const float a);
27196# 5646
27197static inline float rsqrt(const float a);
27198# 5648
27199static inline float rcbrt(const float a);
27200# 5650
27201static inline float sinpi(const float a);
27202# 5652
27203static inline float cospi(const float a);
27204# 5654
27205static inline void sincospi(const float a, float *const sptr, float *const cptr);
27206# 5656
27207static inline void sincos(const float a, float *const sptr, float *const cptr);
27208# 5658
27209static inline float j0(const float a);
27210# 5660
27211static inline float j1(const float a);
27212# 5662
27213static inline float jn(const int n, const float a);
27214# 5664
27215static inline float y0(const float a);
27216# 5666
27217static inline float y1(const float a);
27218# 5668
27219static inline float yn(const int n, const float a);
27220# 5670
27221__attribute__((unused)) static inline float cyl_bessel_i0(const float a);
27222# 5672
27223__attribute__((unused)) static inline float cyl_bessel_i1(const float a);
27224# 5674
27225static inline float erfinv(const float a);
27226# 5676
27227static inline float erfcinv(const float a);
27228# 5678
27229static inline float normcdfinv(const float a);
27230# 5680
27231static inline float normcdf(const float a);
27232# 5682
27233static inline float erfcx(const float a);
27234# 5684
27235static inline double copysign(const double a, const float b);
27236# 5686
27237static inline double copysign(const float a, const double b);
27238# 5694
27239static inline unsigned min(const unsigned a, const unsigned b);
27240# 5702
27241static inline unsigned min(const int a, const unsigned b);
27242# 5710
27243static inline unsigned min(const unsigned a, const int b);
27244# 5718
27245static inline long min(const long a, const long b);
27246# 5726
27247static inline unsigned long min(const unsigned long a, const unsigned long b);
27248# 5734
27249static inline unsigned long min(const long a, const unsigned long b);
27250# 5742
27251static inline unsigned long min(const unsigned long a, const long b);
27252# 5750
27253static inline long long min(const long long a, const long long b);
27254# 5758
27255static inline unsigned long long min(const unsigned long long a, const unsigned long long b);
27256# 5766
27257static inline unsigned long long min(const long long a, const unsigned long long b);
27258# 5774
27259static inline unsigned long long min(const unsigned long long a, const long long b);
27260# 5785 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27261static inline float min(const float a, const float b);
27262# 5796 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27263static inline double min(const double a, const double b);
27264# 5806 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27265static inline double min(const float a, const double b);
27266# 5816 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27267static inline double min(const double a, const float b);
27268# 5824
27269static inline unsigned max(const unsigned a, const unsigned b);
27270# 5832
27271static inline unsigned max(const int a, const unsigned b);
27272# 5840
27273static inline unsigned max(const unsigned a, const int b);
27274# 5848
27275static inline long max(const long a, const long b);
27276# 5856
27277static inline unsigned long max(const unsigned long a, const unsigned long b);
27278# 5864
27279static inline unsigned long max(const long a, const unsigned long b);
27280# 5872
27281static inline unsigned long max(const unsigned long a, const long b);
27282# 5880
27283static inline long long max(const long long a, const long long b);
27284# 5888
27285static inline unsigned long long max(const unsigned long long a, const unsigned long long b);
27286# 5896
27287static inline unsigned long long max(const long long a, const unsigned long long b);
27288# 5904
27289static inline unsigned long long max(const unsigned long long a, const long long b);
27290# 5915 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27291static inline float max(const float a, const float b);
27292# 5926 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27293static inline double max(const double a, const double b);
27294# 5936 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27295static inline double max(const float a, const double b);
27296# 5946 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27297static inline double max(const double a, const float b);
27298# 5958 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27299extern "C" {
27300# 5959
27301__attribute__((unused)) inline void *__nv_aligned_device_malloc(size_t size, size_t align)
27302# 5960
27303{int volatile ___ = 1;(void)size;(void)align;
27304# 5963
27305::exit(___);}
27306#if 0
27307# 5960
27308{
27309# 5961
27310__attribute__((unused)) void *__nv_aligned_device_malloc_impl(size_t, size_t);
27311# 5962
27312return __nv_aligned_device_malloc_impl(size, align);
27313# 5963
27314}
27315#endif
27316# 5964 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.h"
27317}
27318# 758 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.hpp"
27319static inline float exp10(const float a)
27320# 759
27321{
27322# 760
27323return exp10f(a);
27324# 761
27325}
27326# 763
27327static inline float rsqrt(const float a)
27328# 764
27329{
27330# 765
27331return rsqrtf(a);
27332# 766
27333}
27334# 768
27335static inline float rcbrt(const float a)
27336# 769
27337{
27338# 770
27339return rcbrtf(a);
27340# 771
27341}
27342# 773
27343static inline float sinpi(const float a)
27344# 774
27345{
27346# 775
27347return sinpif(a);
27348# 776
27349}
27350# 778
27351static inline float cospi(const float a)
27352# 779
27353{
27354# 780
27355return cospif(a);
27356# 781
27357}
27358# 783
27359static inline void sincospi(const float a, float *const sptr, float *const cptr)
27360# 784
27361{
27362# 785
27363sincospif(a, sptr, cptr);
27364# 786
27365}
27366# 788
27367static inline void sincos(const float a, float *const sptr, float *const cptr)
27368# 789
27369{
27370# 790
27371sincosf(a, sptr, cptr);
27372# 791
27373}
27374# 793
27375static inline float j0(const float a)
27376# 794
27377{
27378# 795
27379return j0f(a);
27380# 796
27381}
27382# 798
27383static inline float j1(const float a)
27384# 799
27385{
27386# 800
27387return j1f(a);
27388# 801
27389}
27390# 803
27391static inline float jn(const int n, const float a)
27392# 804
27393{
27394# 805
27395return jnf(n, a);
27396# 806
27397}
27398# 808
27399static inline float y0(const float a)
27400# 809
27401{
27402# 810
27403return y0f(a);
27404# 811
27405}
27406# 813
27407static inline float y1(const float a)
27408# 814
27409{
27410# 815
27411return y1f(a);
27412# 816
27413}
27414# 818
27415static inline float yn(const int n, const float a)
27416# 819
27417{
27418# 820
27419return ynf(n, a);
27420# 821
27421}
27422# 823
27423__attribute__((unused)) static inline float cyl_bessel_i0(const float a)
27424# 824
27425{int volatile ___ = 1;(void)a;
27426# 826
27427::exit(___);}
27428#if 0
27429# 824
27430{
27431# 825
27432return cyl_bessel_i0f(a);
27433# 826
27434}
27435#endif
27436# 828 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.hpp"
27437__attribute__((unused)) static inline float cyl_bessel_i1(const float a)
27438# 829
27439{int volatile ___ = 1;(void)a;
27440# 831
27441::exit(___);}
27442#if 0
27443# 829
27444{
27445# 830
27446return cyl_bessel_i1f(a);
27447# 831
27448}
27449#endif
27450# 833 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.hpp"
27451static inline float erfinv(const float a)
27452# 834
27453{
27454# 835
27455return erfinvf(a);
27456# 836
27457}
27458# 838
27459static inline float erfcinv(const float a)
27460# 839
27461{
27462# 840
27463return erfcinvf(a);
27464# 841
27465}
27466# 843
27467static inline float normcdfinv(const float a)
27468# 844
27469{
27470# 845
27471return normcdfinvf(a);
27472# 846
27473}
27474# 848
27475static inline float normcdf(const float a)
27476# 849
27477{
27478# 850
27479return normcdff(a);
27480# 851
27481}
27482# 853
27483static inline float erfcx(const float a)
27484# 854
27485{
27486# 855
27487return erfcxf(a);
27488# 856
27489}
27490# 858
27491static inline double copysign(const double a, const float b)
27492# 859
27493{
27494# 860
27495return copysign(a, static_cast< double>(b));
27496# 861
27497}
27498# 863
27499static inline double copysign(const float a, const double b)
27500# 864
27501{
27502# 865
27503return copysign(static_cast< double>(a), b);
27504# 866
27505}
27506# 868
27507static inline unsigned min(const unsigned a, const unsigned b)
27508# 869
27509{
27510# 870
27511return umin(a, b);
27512# 871
27513}
27514# 873
27515static inline unsigned min(const int a, const unsigned b)
27516# 874
27517{
27518# 875
27519return umin(static_cast< unsigned>(a), b);
27520# 876
27521}
27522# 878
27523static inline unsigned min(const unsigned a, const int b)
27524# 879
27525{
27526# 880
27527return umin(a, static_cast< unsigned>(b));
27528# 881
27529}
27530# 883
27531static inline long min(const long a, const long b)
27532# 884
27533{
27534# 885
27535long retval;
27536# 892
27537if (sizeof(long) == sizeof(int)) {
27538# 896
27539retval = (static_cast< long>(min(static_cast< int>(a), static_cast< int>(b))));
27540# 897
27541} else {
27542# 898
27543retval = (static_cast< long>(llmin(static_cast< long long>(a), static_cast< long long>(b))));
27544# 899
27545}
27546# 900
27547return retval;
27548# 901
27549}
27550# 903
27551static inline unsigned long min(const unsigned long a, const unsigned long b)
27552# 904
27553{
27554# 905
27555unsigned long retval;
27556# 910
27557if (sizeof(unsigned long) == sizeof(unsigned)) {
27558# 914
27559retval = (static_cast< unsigned long>(umin(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27560# 915
27561} else {
27562# 916
27563retval = (static_cast< unsigned long>(ullmin(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27564# 917
27565}
27566# 918
27567return retval;
27568# 919
27569}
27570# 921
27571static inline unsigned long min(const long a, const unsigned long b)
27572# 922
27573{
27574# 923
27575unsigned long retval;
27576# 928
27577if (sizeof(unsigned long) == sizeof(unsigned)) {
27578# 932
27579retval = (static_cast< unsigned long>(umin(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27580# 933
27581} else {
27582# 934
27583retval = (static_cast< unsigned long>(ullmin(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27584# 935
27585}
27586# 936
27587return retval;
27588# 937
27589}
27590# 939
27591static inline unsigned long min(const unsigned long a, const long b)
27592# 940
27593{
27594# 941
27595unsigned long retval;
27596# 946
27597if (sizeof(unsigned long) == sizeof(unsigned)) {
27598# 950
27599retval = (static_cast< unsigned long>(umin(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27600# 951
27601} else {
27602# 952
27603retval = (static_cast< unsigned long>(ullmin(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27604# 953
27605}
27606# 954
27607return retval;
27608# 955
27609}
27610# 957
27611static inline long long min(const long long a, const long long b)
27612# 958
27613{
27614# 959
27615return llmin(a, b);
27616# 960
27617}
27618# 962
27619static inline unsigned long long min(const unsigned long long a, const unsigned long long b)
27620# 963
27621{
27622# 964
27623return ullmin(a, b);
27624# 965
27625}
27626# 967
27627static inline unsigned long long min(const long long a, const unsigned long long b)
27628# 968
27629{
27630# 969
27631return ullmin(static_cast< unsigned long long>(a), b);
27632# 970
27633}
27634# 972
27635static inline unsigned long long min(const unsigned long long a, const long long b)
27636# 973
27637{
27638# 974
27639return ullmin(a, static_cast< unsigned long long>(b));
27640# 975
27641}
27642# 977
27643static inline float min(const float a, const float b)
27644# 978
27645{
27646# 979
27647return fminf(a, b);
27648# 980
27649}
27650# 982
27651static inline double min(const double a, const double b)
27652# 983
27653{
27654# 984
27655return fmin(a, b);
27656# 985
27657}
27658# 987
27659static inline double min(const float a, const double b)
27660# 988
27661{
27662# 989
27663return fmin(static_cast< double>(a), b);
27664# 990
27665}
27666# 992
27667static inline double min(const double a, const float b)
27668# 993
27669{
27670# 994
27671return fmin(a, static_cast< double>(b));
27672# 995
27673}
27674# 997
27675static inline unsigned max(const unsigned a, const unsigned b)
27676# 998
27677{
27678# 999
27679return umax(a, b);
27680# 1000
27681}
27682# 1002
27683static inline unsigned max(const int a, const unsigned b)
27684# 1003
27685{
27686# 1004
27687return umax(static_cast< unsigned>(a), b);
27688# 1005
27689}
27690# 1007
27691static inline unsigned max(const unsigned a, const int b)
27692# 1008
27693{
27694# 1009
27695return umax(a, static_cast< unsigned>(b));
27696# 1010
27697}
27698# 1012
27699static inline long max(const long a, const long b)
27700# 1013
27701{
27702# 1014
27703long retval;
27704# 1020
27705if (sizeof(long) == sizeof(int)) {
27706# 1024
27707retval = (static_cast< long>(max(static_cast< int>(a), static_cast< int>(b))));
27708# 1025
27709} else {
27710# 1026
27711retval = (static_cast< long>(llmax(static_cast< long long>(a), static_cast< long long>(b))));
27712# 1027
27713}
27714# 1028
27715return retval;
27716# 1029
27717}
27718# 1031
27719static inline unsigned long max(const unsigned long a, const unsigned long b)
27720# 1032
27721{
27722# 1033
27723unsigned long retval;
27724# 1038
27725if (sizeof(unsigned long) == sizeof(unsigned)) {
27726# 1042
27727retval = (static_cast< unsigned long>(umax(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27728# 1043
27729} else {
27730# 1044
27731retval = (static_cast< unsigned long>(ullmax(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27732# 1045
27733}
27734# 1046
27735return retval;
27736# 1047
27737}
27738# 1049
27739static inline unsigned long max(const long a, const unsigned long b)
27740# 1050
27741{
27742# 1051
27743unsigned long retval;
27744# 1056
27745if (sizeof(unsigned long) == sizeof(unsigned)) {
27746# 1060
27747retval = (static_cast< unsigned long>(umax(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27748# 1061
27749} else {
27750# 1062
27751retval = (static_cast< unsigned long>(ullmax(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27752# 1063
27753}
27754# 1064
27755return retval;
27756# 1065
27757}
27758# 1067
27759static inline unsigned long max(const unsigned long a, const long b)
27760# 1068
27761{
27762# 1069
27763unsigned long retval;
27764# 1074
27765if (sizeof(unsigned long) == sizeof(unsigned)) {
27766# 1078
27767retval = (static_cast< unsigned long>(umax(static_cast< unsigned>(a), static_cast< unsigned>(b))));
27768# 1079
27769} else {
27770# 1080
27771retval = (static_cast< unsigned long>(ullmax(static_cast< unsigned long long>(a), static_cast< unsigned long long>(b))));
27772# 1081
27773}
27774# 1082
27775return retval;
27776# 1083
27777}
27778# 1085
27779static inline long long max(const long long a, const long long b)
27780# 1086
27781{
27782# 1087
27783return llmax(a, b);
27784# 1088
27785}
27786# 1090
27787static inline unsigned long long max(const unsigned long long a, const unsigned long long b)
27788# 1091
27789{
27790# 1092
27791return ullmax(a, b);
27792# 1093
27793}
27794# 1095
27795static inline unsigned long long max(const long long a, const unsigned long long b)
27796# 1096
27797{
27798# 1097
27799return ullmax(static_cast< unsigned long long>(a), b);
27800# 1098
27801}
27802# 1100
27803static inline unsigned long long max(const unsigned long long a, const long long b)
27804# 1101
27805{
27806# 1102
27807return ullmax(a, static_cast< unsigned long long>(b));
27808# 1103
27809}
27810# 1105
27811static inline float max(const float a, const float b)
27812# 1106
27813{
27814# 1107
27815return fmaxf(a, b);
27816# 1108
27817}
27818# 1110
27819static inline double max(const double a, const double b)
27820# 1111
27821{
27822# 1112
27823return fmax(a, b);
27824# 1113
27825}
27826# 1115
27827static inline double max(const float a, const double b)
27828# 1116
27829{
27830# 1117
27831return fmax(static_cast< double>(a), b);
27832# 1118
27833}
27834# 1120
27835static inline double max(const double a, const float b)
27836# 1121
27837{
27838# 1122
27839return fmax(a, static_cast< double>(b));
27840# 1123
27841}
27842# 1135 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/math_functions.hpp"
27843inline int min(const int a, const int b)
27844# 1136
27845{
27846# 1137
27847return (a < b) ? a : b;
27848# 1138
27849}
27850# 1140
27851inline unsigned umin(const unsigned a, const unsigned b)
27852# 1141
27853{
27854# 1142
27855return (a < b) ? a : b;
27856# 1143
27857}
27858# 1145
27859inline long long llmin(const long long a, const long long b)
27860# 1146
27861{
27862# 1147
27863return (a < b) ? a : b;
27864# 1148
27865}
27866# 1150
27867inline unsigned long long ullmin(const unsigned long long a, const unsigned long long
27868# 1151
27869b)
27870# 1152
27871{
27872# 1153
27873return (a < b) ? a : b;
27874# 1154
27875}
27876# 1156
27877inline int max(const int a, const int b)
27878# 1157
27879{
27880# 1158
27881return (a > b) ? a : b;
27882# 1159
27883}
27884# 1161
27885inline unsigned umax(const unsigned a, const unsigned b)
27886# 1162
27887{
27888# 1163
27889return (a > b) ? a : b;
27890# 1164
27891}
27892# 1166
27893inline long long llmax(const long long a, const long long b)
27894# 1167
27895{
27896# 1168
27897return (a > b) ? a : b;
27898# 1169
27899}
27900# 1171
27901inline unsigned long long ullmax(const unsigned long long a, const unsigned long long
27902# 1172
27903b)
27904# 1173
27905{
27906# 1174
27907return (a > b) ? a : b;
27908# 1175
27909}
27910# 95 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27911extern "C" {
27912# 2497 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27913static inline int __vimax_s32_relu(const int a, const int b);
27914# 2509 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27915static inline unsigned __vimax_s16x2_relu(const unsigned a, const unsigned b);
27916# 2518 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27917static inline int __vimin_s32_relu(const int a, const int b);
27918# 2530 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27919static inline unsigned __vimin_s16x2_relu(const unsigned a, const unsigned b);
27920# 2539 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27921static inline int __vimax3_s32(const int a, const int b, const int c);
27922# 2551 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27923static inline unsigned __vimax3_s16x2(const unsigned a, const unsigned b, const unsigned c);
27924# 2560 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27925static inline unsigned __vimax3_u32(const unsigned a, const unsigned b, const unsigned c);
27926# 2572 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27927static inline unsigned __vimax3_u16x2(const unsigned a, const unsigned b, const unsigned c);
27928# 2581 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27929static inline int __vimin3_s32(const int a, const int b, const int c);
27930# 2593 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27931static inline unsigned __vimin3_s16x2(const unsigned a, const unsigned b, const unsigned c);
27932# 2602 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27933static inline unsigned __vimin3_u32(const unsigned a, const unsigned b, const unsigned c);
27934# 2614 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27935static inline unsigned __vimin3_u16x2(const unsigned a, const unsigned b, const unsigned c);
27936# 2623 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27937static inline int __vimax3_s32_relu(const int a, const int b, const int c);
27938# 2635 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27939static inline unsigned __vimax3_s16x2_relu(const unsigned a, const unsigned b, const unsigned c);
27940# 2644 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27941static inline int __vimin3_s32_relu(const int a, const int b, const int c);
27942# 2656 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27943static inline unsigned __vimin3_s16x2_relu(const unsigned a, const unsigned b, const unsigned c);
27944# 2665 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27945static inline int __viaddmax_s32(const int a, const int b, const int c);
27946# 2677 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27947static inline unsigned __viaddmax_s16x2(const unsigned a, const unsigned b, const unsigned c);
27948# 2686 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27949static inline unsigned __viaddmax_u32(const unsigned a, const unsigned b, const unsigned c);
27950# 2698 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27951static inline unsigned __viaddmax_u16x2(const unsigned a, const unsigned b, const unsigned c);
27952# 2707 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27953static inline int __viaddmin_s32(const int a, const int b, const int c);
27954# 2719 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27955static inline unsigned __viaddmin_s16x2(const unsigned a, const unsigned b, const unsigned c);
27956# 2728 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27957static inline unsigned __viaddmin_u32(const unsigned a, const unsigned b, const unsigned c);
27958# 2740 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27959static inline unsigned __viaddmin_u16x2(const unsigned a, const unsigned b, const unsigned c);
27960# 2750 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27961static inline int __viaddmax_s32_relu(const int a, const int b, const int c);
27962# 2762 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27963static inline unsigned __viaddmax_s16x2_relu(const unsigned a, const unsigned b, const unsigned c);
27964# 2772 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27965static inline int __viaddmin_s32_relu(const int a, const int b, const int c);
27966# 2784 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27967static inline unsigned __viaddmin_s16x2_relu(const unsigned a, const unsigned b, const unsigned c);
27968# 2793 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27969static inline int __vibmax_s32(const int a, const int b, bool *const pred);
27970# 2802 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27971static inline unsigned __vibmax_u32(const unsigned a, const unsigned b, bool *const pred);
27972# 2811 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27973static inline int __vibmin_s32(const int a, const int b, bool *const pred);
27974# 2820 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27975static inline unsigned __vibmin_u32(const unsigned a, const unsigned b, bool *const pred);
27976# 2834 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27977static inline unsigned __vibmax_s16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo);
27978# 2848 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27979static inline unsigned __vibmax_u16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo);
27980# 2862 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27981static inline unsigned __vibmin_s16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo);
27982# 2876 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
27983static inline unsigned __vibmin_u16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo);
27984# 2883
27985}
27986# 116 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
27987static short __internal_cast_u2s(unsigned short x)
27988# 117
27989{
27990# 118
27991short res;
27992# 120
27993(void)memcpy(&res, &x, sizeof x);
27994# 124
27995return res;
27996# 125
27997}
27998# 127
27999static inline int __vimax_s32_relu(const int a, const int b) {
28000# 134
28001int ans = max(a, b);
28002# 136
28003return (ans > 0) ? ans : 0;
28004# 138
28005}
28006# 140
28007static inline unsigned __vimax_s16x2_relu(const unsigned a, const unsigned b) {
28008# 141
28009unsigned res;
28010# 149
28011unsigned short aU_lo = (unsigned short)(a & 65535U);
28012# 150
28013unsigned short aU_hi = (unsigned short)(a >> 16);
28014# 152
28015unsigned short bU_lo = (unsigned short)(b & 65535U);
28016# 153
28017unsigned short bU_hi = (unsigned short)(b >> 16);
28018# 156
28019short aS_lo = __internal_cast_u2s(aU_lo);
28020# 157
28021short aS_hi = __internal_cast_u2s(aU_hi);
28022# 159
28023short bS_lo = __internal_cast_u2s(bU_lo);
28024# 160
28025short bS_hi = __internal_cast_u2s(bU_hi);
28026# 163
28027int ansI_lo = max(aS_lo, bS_lo);
28028# 164
28029int ansI_hi = max(aS_hi, bS_hi);
28030# 167
28031if (ansI_lo < 0) { ansI_lo = 0; }
28032# 168
28033if (ansI_hi < 0) { ansI_hi = 0; }
28034# 171
28035unsigned ansU_lo = (unsigned)ansI_lo;
28036# 172
28037unsigned ansU_hi = (unsigned)ansI_hi;
28038# 175
28039res = (ansU_lo | (ansU_hi << 16));
28040# 178
28041return res;
28042# 179
28043}
28044# 181
28045static inline int __vimin_s32_relu(const int a, const int b) {
28046# 188
28047int ans = min(a, b);
28048# 190
28049return (ans > 0) ? ans : 0;
28050# 192
28051}
28052# 194
28053static inline unsigned __vimin_s16x2_relu(const unsigned a, const unsigned b) {
28054# 195
28055unsigned res;
28056# 203
28057unsigned short aU_lo = (unsigned short)(a & 65535U);
28058# 204
28059unsigned short aU_hi = (unsigned short)(a >> 16);
28060# 206
28061unsigned short bU_lo = (unsigned short)(b & 65535U);
28062# 207
28063unsigned short bU_hi = (unsigned short)(b >> 16);
28064# 210
28065short aS_lo = __internal_cast_u2s(aU_lo);
28066# 211
28067short aS_hi = __internal_cast_u2s(aU_hi);
28068# 213
28069short bS_lo = __internal_cast_u2s(bU_lo);
28070# 214
28071short bS_hi = __internal_cast_u2s(bU_hi);
28072# 217
28073int ansI_lo = min(aS_lo, bS_lo);
28074# 218
28075int ansI_hi = min(aS_hi, bS_hi);
28076# 221
28077if (ansI_lo < 0) { ansI_lo = 0; }
28078# 222
28079if (ansI_hi < 0) { ansI_hi = 0; }
28080# 225
28081unsigned ansU_lo = (unsigned)ansI_lo;
28082# 226
28083unsigned ansU_hi = (unsigned)ansI_hi;
28084# 229
28085res = (ansU_lo | (ansU_hi << 16));
28086# 232
28087return res;
28088# 233
28089}
28090# 235
28091static inline int __vimax3_s32(const int a, const int b, const int c) {
28092# 245 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28093return max(max(a, b), c);
28094# 247
28095}
28096# 249
28097static inline unsigned __vimax3_s16x2(const unsigned a, const unsigned b, const unsigned c) {
28098# 250
28099unsigned res;
28100# 262 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28101unsigned short aU_lo = (unsigned short)(a & 65535U);
28102# 263
28103unsigned short aU_hi = (unsigned short)(a >> 16);
28104# 265
28105unsigned short bU_lo = (unsigned short)(b & 65535U);
28106# 266
28107unsigned short bU_hi = (unsigned short)(b >> 16);
28108# 268
28109unsigned short cU_lo = (unsigned short)(c & 65535U);
28110# 269
28111unsigned short cU_hi = (unsigned short)(c >> 16);
28112# 272
28113short aS_lo = __internal_cast_u2s(aU_lo);
28114# 273
28115short aS_hi = __internal_cast_u2s(aU_hi);
28116# 275
28117short bS_lo = __internal_cast_u2s(bU_lo);
28118# 276
28119short bS_hi = __internal_cast_u2s(bU_hi);
28120# 278
28121short cS_lo = __internal_cast_u2s(cU_lo);
28122# 279
28123short cS_hi = __internal_cast_u2s(cU_hi);
28124# 282
28125unsigned ansU_lo = (unsigned)max(max(aS_lo, bS_lo), cS_lo);
28126# 283
28127unsigned ansU_hi = (unsigned)max(max(aS_hi, bS_hi), cS_hi);
28128# 286
28129res = ((ansU_lo & 65535U) | (ansU_hi << 16));
28130# 288
28131return res;
28132# 289
28133}
28134# 291
28135static inline unsigned __vimax3_u32(const unsigned a, const unsigned b, const unsigned c) {
28136# 301 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28137return max(max(a, b), c);
28138# 303
28139}
28140# 305
28141static inline unsigned __vimax3_u16x2(const unsigned a, const unsigned b, const unsigned c) {
28142# 306
28143unsigned res;
28144# 317 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28145unsigned short aU_lo = (unsigned short)(a & 65535U);
28146# 318
28147unsigned short aU_hi = (unsigned short)(a >> 16);
28148# 320
28149unsigned short bU_lo = (unsigned short)(b & 65535U);
28150# 321
28151unsigned short bU_hi = (unsigned short)(b >> 16);
28152# 323
28153unsigned short cU_lo = (unsigned short)(c & 65535U);
28154# 324
28155unsigned short cU_hi = (unsigned short)(c >> 16);
28156# 327
28157unsigned short ansU_lo = (unsigned short)max(max(aU_lo, bU_lo), cU_lo);
28158# 328
28159unsigned short ansU_hi = (unsigned short)max(max(aU_hi, bU_hi), cU_hi);
28160# 331
28161res = (((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16));
28162# 334
28163return res;
28164# 335
28165}
28166# 337
28167static inline int __vimin3_s32(const int a, const int b, const int c) {
28168# 347 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28169return min(min(a, b), c);
28170# 349
28171}
28172# 351
28173static inline unsigned __vimin3_s16x2(const unsigned a, const unsigned b, const unsigned c) {
28174# 352
28175unsigned res;
28176# 363 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28177unsigned short aU_lo = (unsigned short)(a & 65535U);
28178# 364
28179unsigned short aU_hi = (unsigned short)(a >> 16);
28180# 366
28181unsigned short bU_lo = (unsigned short)(b & 65535U);
28182# 367
28183unsigned short bU_hi = (unsigned short)(b >> 16);
28184# 369
28185unsigned short cU_lo = (unsigned short)(c & 65535U);
28186# 370
28187unsigned short cU_hi = (unsigned short)(c >> 16);
28188# 373
28189short aS_lo = __internal_cast_u2s(aU_lo);
28190# 374
28191short aS_hi = __internal_cast_u2s(aU_hi);
28192# 376
28193short bS_lo = __internal_cast_u2s(bU_lo);
28194# 377
28195short bS_hi = __internal_cast_u2s(bU_hi);
28196# 379
28197short cS_lo = __internal_cast_u2s(cU_lo);
28198# 380
28199short cS_hi = __internal_cast_u2s(cU_hi);
28200# 383
28201unsigned ansU_lo = (unsigned)min(min(aS_lo, bS_lo), cS_lo);
28202# 384
28203unsigned ansU_hi = (unsigned)min(min(aS_hi, bS_hi), cS_hi);
28204# 387
28205res = ((ansU_lo & 65535U) | (ansU_hi << 16));
28206# 390
28207return res;
28208# 391
28209}
28210# 393
28211static inline unsigned __vimin3_u32(const unsigned a, const unsigned b, const unsigned c) {
28212# 403 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28213return min(min(a, b), c);
28214# 405
28215}
28216# 407
28217static inline unsigned __vimin3_u16x2(const unsigned a, const unsigned b, const unsigned c) {
28218# 408
28219unsigned res;
28220# 419 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28221unsigned short aU_lo = (unsigned short)(a & 65535U);
28222# 420
28223unsigned short aU_hi = (unsigned short)(a >> 16);
28224# 422
28225unsigned short bU_lo = (unsigned short)(b & 65535U);
28226# 423
28227unsigned short bU_hi = (unsigned short)(b >> 16);
28228# 425
28229unsigned short cU_lo = (unsigned short)(c & 65535U);
28230# 426
28231unsigned short cU_hi = (unsigned short)(c >> 16);
28232# 429
28233unsigned short ansU_lo = (unsigned short)min(min(aU_lo, bU_lo), cU_lo);
28234# 430
28235unsigned short ansU_hi = (unsigned short)min(min(aU_hi, bU_hi), cU_hi);
28236# 433
28237res = (((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16));
28238# 436
28239return res;
28240# 437
28241}
28242# 439
28243static inline int __vimax3_s32_relu(const int a, const int b, const int c) {
28244# 449 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28245int ans = max(max(a, b), c);
28246# 451
28247return (ans > 0) ? ans : 0;
28248# 453
28249}
28250# 455
28251static inline unsigned __vimax3_s16x2_relu(const unsigned a, const unsigned b, const unsigned c) {
28252# 456
28253unsigned res;
28254# 467 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28255unsigned short aU_lo = (unsigned short)(a & 65535U);
28256# 468
28257unsigned short aU_hi = (unsigned short)(a >> 16);
28258# 470
28259unsigned short bU_lo = (unsigned short)(b & 65535U);
28260# 471
28261unsigned short bU_hi = (unsigned short)(b >> 16);
28262# 473
28263unsigned short cU_lo = (unsigned short)(c & 65535U);
28264# 474
28265unsigned short cU_hi = (unsigned short)(c >> 16);
28266# 477
28267short aS_lo = __internal_cast_u2s(aU_lo);
28268# 478
28269short aS_hi = __internal_cast_u2s(aU_hi);
28270# 480
28271short bS_lo = __internal_cast_u2s(bU_lo);
28272# 481
28273short bS_hi = __internal_cast_u2s(bU_hi);
28274# 483
28275short cS_lo = __internal_cast_u2s(cU_lo);
28276# 484
28277short cS_hi = __internal_cast_u2s(cU_hi);
28278# 487
28279unsigned ansU_lo = (unsigned)max(0, max(max(aS_lo, bS_lo), cS_lo));
28280# 488
28281unsigned ansU_hi = (unsigned)max(0, max(max(aS_hi, bS_hi), cS_hi));
28282# 491
28283res = (ansU_lo | (ansU_hi << 16));
28284# 494
28285return res;
28286# 495
28287}
28288# 497
28289static inline int __vimin3_s32_relu(const int a, const int b, const int c) {
28290# 507 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28291int ans = min(min(a, b), c);
28292# 509
28293return (ans > 0) ? ans : 0;
28294# 511
28295}
28296# 513
28297static inline unsigned __vimin3_s16x2_relu(const unsigned a, const unsigned b, const unsigned c) {
28298# 514
28299unsigned res;
28300# 525 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28301unsigned short aU_lo = (unsigned short)(a & 65535U);
28302# 526
28303unsigned short aU_hi = (unsigned short)(a >> 16);
28304# 528
28305unsigned short bU_lo = (unsigned short)(b & 65535U);
28306# 529
28307unsigned short bU_hi = (unsigned short)(b >> 16);
28308# 531
28309unsigned short cU_lo = (unsigned short)(c & 65535U);
28310# 532
28311unsigned short cU_hi = (unsigned short)(c >> 16);
28312# 535
28313short aS_lo = __internal_cast_u2s(aU_lo);
28314# 536
28315short aS_hi = __internal_cast_u2s(aU_hi);
28316# 538
28317short bS_lo = __internal_cast_u2s(bU_lo);
28318# 539
28319short bS_hi = __internal_cast_u2s(bU_hi);
28320# 541
28321short cS_lo = __internal_cast_u2s(cU_lo);
28322# 542
28323short cS_hi = __internal_cast_u2s(cU_hi);
28324# 545
28325unsigned ansU_lo = (unsigned)max(0, min(min(aS_lo, bS_lo), cS_lo));
28326# 546
28327unsigned ansU_hi = (unsigned)max(0, min(min(aS_hi, bS_hi), cS_hi));
28328# 549
28329res = (ansU_lo | (ansU_hi << 16));
28330# 553
28331return res;
28332# 554
28333}
28334# 556
28335static inline int __viaddmax_s32(const int a, const int b, const int c) {
28336# 566 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28337return max(a + b, c);
28338# 568
28339}
28340# 570
28341static inline unsigned __viaddmax_s16x2(const unsigned a, const unsigned b, const unsigned c) {
28342# 571
28343unsigned res;
28344# 582 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28345unsigned short aU_lo = (unsigned short)(a & 65535U);
28346# 583
28347unsigned short aU_hi = (unsigned short)(a >> 16);
28348# 585
28349unsigned short bU_lo = (unsigned short)(b & 65535U);
28350# 586
28351unsigned short bU_hi = (unsigned short)(b >> 16);
28352# 588
28353unsigned short cU_lo = (unsigned short)(c & 65535U);
28354# 589
28355unsigned short cU_hi = (unsigned short)(c >> 16);
28356# 591
28357aU_lo += bU_lo;
28358# 592
28359aU_hi += bU_hi;
28360# 595
28361short sS_lo = __internal_cast_u2s(aU_lo);
28362# 596
28363short sS_hi = __internal_cast_u2s(aU_hi);
28364# 598
28365short cS_lo = __internal_cast_u2s(cU_lo);
28366# 599
28367short cS_hi = __internal_cast_u2s(cU_hi);
28368# 602
28369unsigned ansU_lo = (unsigned)max(sS_lo, cS_lo);
28370# 603
28371unsigned ansU_hi = (unsigned)max(sS_hi, cS_hi);
28372# 606
28373res = ((ansU_lo & 65535U) | (ansU_hi << 16));
28374# 609
28375return res;
28376# 610
28377}
28378# 612
28379static inline unsigned __viaddmax_u32(const unsigned a, const unsigned b, const unsigned c) {
28380# 622 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28381return max(a + b, c);
28382# 624
28383}
28384# 626
28385static inline unsigned __viaddmax_u16x2(const unsigned a, const unsigned b, const unsigned c) {
28386# 627
28387unsigned res;
28388# 638 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28389unsigned short aU_lo = (unsigned short)(a & 65535U);
28390# 639
28391unsigned short aU_hi = (unsigned short)(a >> 16);
28392# 641
28393unsigned short bU_lo = (unsigned short)(b & 65535U);
28394# 642
28395unsigned short bU_hi = (unsigned short)(b >> 16);
28396# 644
28397unsigned short cU_lo = (unsigned short)(c & 65535U);
28398# 645
28399unsigned short cU_hi = (unsigned short)(c >> 16);
28400# 648
28401unsigned short ansU_lo = (unsigned short)max((unsigned short)(aU_lo + bU_lo), cU_lo);
28402# 649
28403unsigned short ansU_hi = (unsigned short)max((unsigned short)(aU_hi + bU_hi), cU_hi);
28404# 652
28405res = (((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16));
28406# 655
28407return res;
28408# 656
28409}
28410# 658
28411static inline int __viaddmin_s32(const int a, const int b, const int c) {
28412# 668 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28413return min(a + b, c);
28414# 670
28415}
28416# 672
28417static inline unsigned __viaddmin_s16x2(const unsigned a, const unsigned b, const unsigned c) {
28418# 673
28419unsigned res;
28420# 684 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28421unsigned short aU_lo = (unsigned short)(a & 65535U);
28422# 685
28423unsigned short aU_hi = (unsigned short)(a >> 16);
28424# 687
28425unsigned short bU_lo = (unsigned short)(b & 65535U);
28426# 688
28427unsigned short bU_hi = (unsigned short)(b >> 16);
28428# 690
28429unsigned short cU_lo = (unsigned short)(c & 65535U);
28430# 691
28431unsigned short cU_hi = (unsigned short)(c >> 16);
28432# 693
28433aU_lo += bU_lo;
28434# 694
28435aU_hi += bU_hi;
28436# 697
28437short sS_lo = __internal_cast_u2s(aU_lo);
28438# 698
28439short sS_hi = __internal_cast_u2s(aU_hi);
28440# 700
28441short cS_lo = __internal_cast_u2s(cU_lo);
28442# 701
28443short cS_hi = __internal_cast_u2s(cU_hi);
28444# 704
28445unsigned ansU_lo = (unsigned)min(sS_lo, cS_lo);
28446# 705
28447unsigned ansU_hi = (unsigned)min(sS_hi, cS_hi);
28448# 708
28449res = ((ansU_lo & 65535U) | (ansU_hi << 16));
28450# 711
28451return res;
28452# 712
28453}
28454# 714
28455static inline unsigned __viaddmin_u32(const unsigned a, const unsigned b, const unsigned c) {
28456# 724 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28457return min(a + b, c);
28458# 726
28459}
28460# 728
28461static inline unsigned __viaddmin_u16x2(const unsigned a, const unsigned b, const unsigned c) {
28462# 729
28463unsigned res;
28464# 740 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28465unsigned short aU_lo = (unsigned short)(a & 65535U);
28466# 741
28467unsigned short aU_hi = (unsigned short)(a >> 16);
28468# 743
28469unsigned short bU_lo = (unsigned short)(b & 65535U);
28470# 744
28471unsigned short bU_hi = (unsigned short)(b >> 16);
28472# 746
28473unsigned short cU_lo = (unsigned short)(c & 65535U);
28474# 747
28475unsigned short cU_hi = (unsigned short)(c >> 16);
28476# 750
28477unsigned short ansU_lo = (unsigned short)min((unsigned short)(aU_lo + bU_lo), cU_lo);
28478# 751
28479unsigned short ansU_hi = (unsigned short)min((unsigned short)(aU_hi + bU_hi), cU_hi);
28480# 754
28481res = (((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16));
28482# 757
28483return res;
28484# 758
28485}
28486# 760
28487static inline int __viaddmax_s32_relu(const int a, const int b, const int c) {
28488# 770 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28489int ans = max(a + b, c);
28490# 772
28491return (ans > 0) ? ans : 0;
28492# 774
28493}
28494# 776
28495static inline unsigned __viaddmax_s16x2_relu(const unsigned a, const unsigned b, const unsigned c) {
28496# 777
28497unsigned res;
28498# 788 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28499unsigned short aU_lo = (unsigned short)(a & 65535U);
28500# 789
28501unsigned short aU_hi = (unsigned short)(a >> 16);
28502# 791
28503unsigned short bU_lo = (unsigned short)(b & 65535U);
28504# 792
28505unsigned short bU_hi = (unsigned short)(b >> 16);
28506# 794
28507unsigned short cU_lo = (unsigned short)(c & 65535U);
28508# 795
28509unsigned short cU_hi = (unsigned short)(c >> 16);
28510# 797
28511aU_lo += bU_lo;
28512# 798
28513aU_hi += bU_hi;
28514# 801
28515short sS_lo = __internal_cast_u2s(aU_lo);
28516# 802
28517short sS_hi = __internal_cast_u2s(aU_hi);
28518# 804
28519short cS_lo = __internal_cast_u2s(cU_lo);
28520# 805
28521short cS_hi = __internal_cast_u2s(cU_hi);
28522# 808
28523unsigned ansU_lo = (unsigned)max(0, max(sS_lo, cS_lo));
28524# 809
28525unsigned ansU_hi = (unsigned)max(0, max(sS_hi, cS_hi));
28526# 812
28527res = (ansU_lo | (ansU_hi << 16));
28528# 815
28529return res;
28530# 816
28531}
28532# 818
28533static inline int __viaddmin_s32_relu(const int a, const int b, const int c) {
28534# 828 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28535int ans = min(a + b, c);
28536# 830
28537return (ans > 0) ? ans : 0;
28538# 832
28539}
28540# 834
28541static inline unsigned __viaddmin_s16x2_relu(const unsigned a, const unsigned b, const unsigned c) {
28542# 835
28543unsigned res;
28544# 846 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28545unsigned short aU_lo = (unsigned short)(a & 65535U);
28546# 847
28547unsigned short aU_hi = (unsigned short)(a >> 16);
28548# 849
28549unsigned short bU_lo = (unsigned short)(b & 65535U);
28550# 850
28551unsigned short bU_hi = (unsigned short)(b >> 16);
28552# 852
28553unsigned short cU_lo = (unsigned short)(c & 65535U);
28554# 853
28555unsigned short cU_hi = (unsigned short)(c >> 16);
28556# 855
28557aU_lo += bU_lo;
28558# 856
28559aU_hi += bU_hi;
28560# 859
28561short sS_lo = __internal_cast_u2s(aU_lo);
28562# 860
28563short sS_hi = __internal_cast_u2s(aU_hi);
28564# 862
28565short cS_lo = __internal_cast_u2s(cU_lo);
28566# 863
28567short cS_hi = __internal_cast_u2s(cU_hi);
28568# 866
28569unsigned ansU_lo = (unsigned)max(0, min(sS_lo, cS_lo));
28570# 867
28571unsigned ansU_hi = (unsigned)max(0, min(sS_hi, cS_hi));
28572# 870
28573res = (ansU_lo | (ansU_hi << 16));
28574# 873
28575return res;
28576# 874
28577}
28578# 878
28579static inline int __vibmax_s32(const int a, const int b, bool *const pred) {
28580# 892 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28581int ans = max(a, b);
28582# 894
28583(*pred) = (a >= b);
28584# 895
28585return ans;
28586# 897
28587}
28588# 899
28589static inline unsigned __vibmax_u32(const unsigned a, const unsigned b, bool *const pred) {
28590# 913 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28591unsigned ans = max(a, b);
28592# 915
28593(*pred) = (a >= b);
28594# 916
28595return ans;
28596# 918
28597}
28598# 921
28599static inline int __vibmin_s32(const int a, const int b, bool *const pred) {
28600# 935 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28601int ans = min(a, b);
28602# 937
28603(*pred) = (a <= b);
28604# 938
28605return ans;
28606# 940
28607}
28608# 943
28609static inline unsigned __vibmin_u32(const unsigned a, const unsigned b, bool *const pred) {
28610# 957 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28611unsigned ans = min(a, b);
28612# 959
28613(*pred) = (a <= b);
28614# 960
28615return ans;
28616# 962
28617}
28618# 964
28619static inline unsigned __vibmax_s16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo) {
28620# 986 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28621unsigned short aU_lo = (unsigned short)(a & 65535U);
28622# 987
28623unsigned short aU_hi = (unsigned short)(a >> 16);
28624# 989
28625unsigned short bU_lo = (unsigned short)(b & 65535U);
28626# 990
28627unsigned short bU_hi = (unsigned short)(b >> 16);
28628# 993
28629short aS_lo = __internal_cast_u2s(aU_lo);
28630# 994
28631short aS_hi = __internal_cast_u2s(aU_hi);
28632# 996
28633short bS_lo = __internal_cast_u2s(bU_lo);
28634# 997
28635short bS_hi = __internal_cast_u2s(bU_hi);
28636# 1000
28637unsigned ansU_lo = (unsigned)max(aS_lo, bS_lo);
28638# 1001
28639unsigned ansU_hi = (unsigned)max(aS_hi, bS_hi);
28640# 1003
28641(*pred_hi) = (aS_hi >= bS_hi);
28642# 1004
28643(*pred_lo) = (aS_lo >= bS_lo);
28644# 1007
28645unsigned ans = (ansU_lo & 65535U) | (ansU_hi << 16);
28646# 1009
28647return ans;
28648# 1011
28649}
28650# 1013
28651static inline unsigned __vibmax_u16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo) {
28652# 1035 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28653unsigned short aU_lo = (unsigned short)(a & 65535U);
28654# 1036
28655unsigned short aU_hi = (unsigned short)(a >> 16);
28656# 1038
28657unsigned short bU_lo = (unsigned short)(b & 65535U);
28658# 1039
28659unsigned short bU_hi = (unsigned short)(b >> 16);
28660# 1042
28661unsigned short ansU_lo = (unsigned short)max(aU_lo, bU_lo);
28662# 1043
28663unsigned short ansU_hi = (unsigned short)max(aU_hi, bU_hi);
28664# 1045
28665(*pred_hi) = (aU_hi >= bU_hi);
28666# 1046
28667(*pred_lo) = (aU_lo >= bU_lo);
28668# 1049
28669unsigned ans = ((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16);
28670# 1051
28671return ans;
28672# 1053
28673}
28674# 1055
28675static inline unsigned __vibmin_s16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo) {
28676# 1077 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28677unsigned short aU_lo = (unsigned short)(a & 65535U);
28678# 1078
28679unsigned short aU_hi = (unsigned short)(a >> 16);
28680# 1080
28681unsigned short bU_lo = (unsigned short)(b & 65535U);
28682# 1081
28683unsigned short bU_hi = (unsigned short)(b >> 16);
28684# 1084
28685short aS_lo = __internal_cast_u2s(aU_lo);
28686# 1085
28687short aS_hi = __internal_cast_u2s(aU_hi);
28688# 1087
28689short bS_lo = __internal_cast_u2s(bU_lo);
28690# 1088
28691short bS_hi = __internal_cast_u2s(bU_hi);
28692# 1091
28693unsigned ansU_lo = (unsigned)min(aS_lo, bS_lo);
28694# 1092
28695unsigned ansU_hi = (unsigned)min(aS_hi, bS_hi);
28696# 1094
28697(*pred_hi) = (aS_hi <= bS_hi);
28698# 1095
28699(*pred_lo) = (aS_lo <= bS_lo);
28700# 1098
28701unsigned ans = (ansU_lo & 65535U) | (ansU_hi << 16);
28702# 1100
28703return ans;
28704# 1102
28705}
28706# 1104
28707static inline unsigned __vibmin_u16x2(const unsigned a, const unsigned b, bool *const pred_hi, bool *const pred_lo) {
28708# 1126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.hpp"
28709unsigned short aU_lo = (unsigned short)(a & 65535U);
28710# 1127
28711unsigned short aU_hi = (unsigned short)(a >> 16);
28712# 1129
28713unsigned short bU_lo = (unsigned short)(b & 65535U);
28714# 1130
28715unsigned short bU_hi = (unsigned short)(b >> 16);
28716# 1133
28717unsigned short ansU_lo = (unsigned short)min(aU_lo, bU_lo);
28718# 1134
28719unsigned short ansU_hi = (unsigned short)min(aU_hi, bU_hi);
28720# 1136
28721(*pred_hi) = (aU_hi <= bU_hi);
28722# 1137
28723(*pred_lo) = (aU_lo <= bU_lo);
28724# 1140
28725unsigned ans = ((unsigned)ansU_lo) | (((unsigned)ansU_hi) << 16);
28726# 1142
28727return ans;
28728# 1144
28729}
28730# 89 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28731__attribute__((unused)) static inline int atomicAdd(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28732#if 0
28733# 89
28734{ }
28735#endif
28736# 91 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28737__attribute__((unused)) static inline unsigned atomicAdd(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28738#if 0
28739# 91
28740{ }
28741#endif
28742# 93 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28743__attribute__((unused)) static inline int atomicSub(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28744#if 0
28745# 93
28746{ }
28747#endif
28748# 95 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28749__attribute__((unused)) static inline unsigned atomicSub(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28750#if 0
28751# 95
28752{ }
28753#endif
28754# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28755__attribute__((unused)) static inline int atomicExch(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28756#if 0
28757# 97
28758{ }
28759#endif
28760# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28761__attribute__((unused)) static inline unsigned atomicExch(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28762#if 0
28763# 99
28764{ }
28765#endif
28766# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28767__attribute__((unused)) static inline float atomicExch(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28768#if 0
28769# 101
28770{ }
28771#endif
28772# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28773__attribute__((unused)) static inline int atomicMin(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28774#if 0
28775# 103
28776{ }
28777#endif
28778# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28779__attribute__((unused)) static inline unsigned atomicMin(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28780#if 0
28781# 105
28782{ }
28783#endif
28784# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28785__attribute__((unused)) static inline int atomicMax(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28786#if 0
28787# 107
28788{ }
28789#endif
28790# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28791__attribute__((unused)) static inline unsigned atomicMax(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28792#if 0
28793# 109
28794{ }
28795#endif
28796# 111 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28797__attribute__((unused)) static inline unsigned atomicInc(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28798#if 0
28799# 111
28800{ }
28801#endif
28802# 113 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28803__attribute__((unused)) static inline unsigned atomicDec(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28804#if 0
28805# 113
28806{ }
28807#endif
28808# 115 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28809__attribute__((unused)) static inline int atomicAnd(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28810#if 0
28811# 115
28812{ }
28813#endif
28814# 117 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28815__attribute__((unused)) static inline unsigned atomicAnd(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28816#if 0
28817# 117
28818{ }
28819#endif
28820# 119 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28821__attribute__((unused)) static inline int atomicOr(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28822#if 0
28823# 119
28824{ }
28825#endif
28826# 121 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28827__attribute__((unused)) static inline unsigned atomicOr(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28828#if 0
28829# 121
28830{ }
28831#endif
28832# 123 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28833__attribute__((unused)) static inline int atomicXor(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28834#if 0
28835# 123
28836{ }
28837#endif
28838# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28839__attribute__((unused)) static inline unsigned atomicXor(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28840#if 0
28841# 125
28842{ }
28843#endif
28844# 127 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28845__attribute__((unused)) static inline int atomicCAS(int *address, int compare, int val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
28846#if 0
28847# 127
28848{ }
28849#endif
28850# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28851__attribute__((unused)) static inline unsigned atomicCAS(unsigned *address, unsigned compare, unsigned val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
28852#if 0
28853# 129
28854{ }
28855#endif
28856# 156 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28857extern "C" {
28858# 160
28859}
28860# 169 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28861__attribute__((unused)) static inline unsigned long long atomicAdd(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28862#if 0
28863# 169
28864{ }
28865#endif
28866# 171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28867__attribute__((unused)) static inline unsigned long long atomicExch(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
28868#if 0
28869# 171
28870{ }
28871#endif
28872# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28873__attribute__((unused)) static inline unsigned long long atomicCAS(unsigned long long *address, unsigned long long compare, unsigned long long val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
28874#if 0
28875# 173
28876{ }
28877#endif
28878# 175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28879__attribute((deprecated("__any() is deprecated in favor of __any_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppr" "ess this warning)."))) __attribute__((unused)) static inline bool any(bool cond) {int volatile ___ = 1;(void)cond;::exit(___);}
28880#if 0
28881# 175
28882{ }
28883#endif
28884# 177 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.h"
28885__attribute((deprecated("__all() is deprecated in favor of __all_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppr" "ess this warning)."))) __attribute__((unused)) static inline bool all(bool cond) {int volatile ___ = 1;(void)cond;::exit(___);}
28886#if 0
28887# 177
28888{ }
28889#endif
28890# 90 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.h"
28891extern "C" {
28892# 1142 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.h"
28893}
28894# 1150
28895__attribute__((unused)) static inline double fma(double a, double b, double c, cudaRoundMode mode);
28896# 1154
28897__attribute__((unused)) static inline double dmul(double a, double b, cudaRoundMode mode = cudaRoundNearest);
28898# 1156
28899__attribute__((unused)) static inline double dadd(double a, double b, cudaRoundMode mode = cudaRoundNearest);
28900# 1158
28901__attribute__((unused)) static inline double dsub(double a, double b, cudaRoundMode mode = cudaRoundNearest);
28902# 1160
28903__attribute__((unused)) static inline int double2int(double a, cudaRoundMode mode = cudaRoundZero);
28904# 1162
28905__attribute__((unused)) static inline unsigned double2uint(double a, cudaRoundMode mode = cudaRoundZero);
28906# 1164
28907__attribute__((unused)) static inline long long double2ll(double a, cudaRoundMode mode = cudaRoundZero);
28908# 1166
28909__attribute__((unused)) static inline unsigned long long double2ull(double a, cudaRoundMode mode = cudaRoundZero);
28910# 1168
28911__attribute__((unused)) static inline double ll2double(long long a, cudaRoundMode mode = cudaRoundNearest);
28912# 1170
28913__attribute__((unused)) static inline double ull2double(unsigned long long a, cudaRoundMode mode = cudaRoundNearest);
28914# 1172
28915__attribute__((unused)) static inline double int2double(int a, cudaRoundMode mode = cudaRoundNearest);
28916# 1174
28917__attribute__((unused)) static inline double uint2double(unsigned a, cudaRoundMode mode = cudaRoundNearest);
28918# 1176
28919__attribute__((unused)) static inline double float2double(float a, cudaRoundMode mode = cudaRoundNearest);
28920# 93 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28921__attribute__((unused)) static inline double fma(double a, double b, double c, cudaRoundMode mode)
28922# 94
28923{int volatile ___ = 1;(void)a;(void)b;(void)c;(void)mode;
28924# 99
28925::exit(___);}
28926#if 0
28927# 94
28928{
28929# 95
28930return (mode == (cudaRoundZero)) ? __fma_rz(a, b, c) : ((mode == (cudaRoundPosInf)) ? __fma_ru(a, b, c) : ((mode == (cudaRoundMinInf)) ? __fma_rd(a, b, c) : __fma_rn(a, b, c)));
28931# 99
28932}
28933#endif
28934# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28935__attribute__((unused)) static inline double dmul(double a, double b, cudaRoundMode mode)
28936# 102
28937{int volatile ___ = 1;(void)a;(void)b;(void)mode;
28938# 107
28939::exit(___);}
28940#if 0
28941# 102
28942{
28943# 103
28944return (mode == (cudaRoundZero)) ? __dmul_rz(a, b) : ((mode == (cudaRoundPosInf)) ? __dmul_ru(a, b) : ((mode == (cudaRoundMinInf)) ? __dmul_rd(a, b) : __dmul_rn(a, b)));
28945# 107
28946}
28947#endif
28948# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28949__attribute__((unused)) static inline double dadd(double a, double b, cudaRoundMode mode)
28950# 110
28951{int volatile ___ = 1;(void)a;(void)b;(void)mode;
28952# 115
28953::exit(___);}
28954#if 0
28955# 110
28956{
28957# 111
28958return (mode == (cudaRoundZero)) ? __dadd_rz(a, b) : ((mode == (cudaRoundPosInf)) ? __dadd_ru(a, b) : ((mode == (cudaRoundMinInf)) ? __dadd_rd(a, b) : __dadd_rn(a, b)));
28959# 115
28960}
28961#endif
28962# 117 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28963__attribute__((unused)) static inline double dsub(double a, double b, cudaRoundMode mode)
28964# 118
28965{int volatile ___ = 1;(void)a;(void)b;(void)mode;
28966# 123
28967::exit(___);}
28968#if 0
28969# 118
28970{
28971# 119
28972return (mode == (cudaRoundZero)) ? __dsub_rz(a, b) : ((mode == (cudaRoundPosInf)) ? __dsub_ru(a, b) : ((mode == (cudaRoundMinInf)) ? __dsub_rd(a, b) : __dsub_rn(a, b)));
28973# 123
28974}
28975#endif
28976# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28977__attribute__((unused)) static inline int double2int(double a, cudaRoundMode mode)
28978# 126
28979{int volatile ___ = 1;(void)a;(void)mode;
28980# 131
28981::exit(___);}
28982#if 0
28983# 126
28984{
28985# 127
28986return (mode == (cudaRoundNearest)) ? __double2int_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2int_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2int_rd(a) : __double2int_rz(a)));
28987# 131
28988}
28989#endif
28990# 133 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
28991__attribute__((unused)) static inline unsigned double2uint(double a, cudaRoundMode mode)
28992# 134
28993{int volatile ___ = 1;(void)a;(void)mode;
28994# 139
28995::exit(___);}
28996#if 0
28997# 134
28998{
28999# 135
29000return (mode == (cudaRoundNearest)) ? __double2uint_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2uint_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2uint_rd(a) : __double2uint_rz(a)));
29001# 139
29002}
29003#endif
29004# 141 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29005__attribute__((unused)) static inline long long double2ll(double a, cudaRoundMode mode)
29006# 142
29007{int volatile ___ = 1;(void)a;(void)mode;
29008# 147
29009::exit(___);}
29010#if 0
29011# 142
29012{
29013# 143
29014return (mode == (cudaRoundNearest)) ? __double2ll_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2ll_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2ll_rd(a) : __double2ll_rz(a)));
29015# 147
29016}
29017#endif
29018# 149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29019__attribute__((unused)) static inline unsigned long long double2ull(double a, cudaRoundMode mode)
29020# 150
29021{int volatile ___ = 1;(void)a;(void)mode;
29022# 155
29023::exit(___);}
29024#if 0
29025# 150
29026{
29027# 151
29028return (mode == (cudaRoundNearest)) ? __double2ull_rn(a) : ((mode == (cudaRoundPosInf)) ? __double2ull_ru(a) : ((mode == (cudaRoundMinInf)) ? __double2ull_rd(a) : __double2ull_rz(a)));
29029# 155
29030}
29031#endif
29032# 157 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29033__attribute__((unused)) static inline double ll2double(long long a, cudaRoundMode mode)
29034# 158
29035{int volatile ___ = 1;(void)a;(void)mode;
29036# 163
29037::exit(___);}
29038#if 0
29039# 158
29040{
29041# 159
29042return (mode == (cudaRoundZero)) ? __ll2double_rz(a) : ((mode == (cudaRoundPosInf)) ? __ll2double_ru(a) : ((mode == (cudaRoundMinInf)) ? __ll2double_rd(a) : __ll2double_rn(a)));
29043# 163
29044}
29045#endif
29046# 165 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29047__attribute__((unused)) static inline double ull2double(unsigned long long a, cudaRoundMode mode)
29048# 166
29049{int volatile ___ = 1;(void)a;(void)mode;
29050# 171
29051::exit(___);}
29052#if 0
29053# 166
29054{
29055# 167
29056return (mode == (cudaRoundZero)) ? __ull2double_rz(a) : ((mode == (cudaRoundPosInf)) ? __ull2double_ru(a) : ((mode == (cudaRoundMinInf)) ? __ull2double_rd(a) : __ull2double_rn(a)));
29057# 171
29058}
29059#endif
29060# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29061__attribute__((unused)) static inline double int2double(int a, cudaRoundMode mode)
29062# 174
29063{int volatile ___ = 1;(void)a;(void)mode;
29064# 176
29065::exit(___);}
29066#if 0
29067# 174
29068{
29069# 175
29070return (double)a;
29071# 176
29072}
29073#endif
29074# 178 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29075__attribute__((unused)) static inline double uint2double(unsigned a, cudaRoundMode mode)
29076# 179
29077{int volatile ___ = 1;(void)a;(void)mode;
29078# 181
29079::exit(___);}
29080#if 0
29081# 179
29082{
29083# 180
29084return (double)a;
29085# 181
29086}
29087#endif
29088# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_double_functions.hpp"
29089__attribute__((unused)) static inline double float2double(float a, cudaRoundMode mode)
29090# 184
29091{int volatile ___ = 1;(void)a;(void)mode;
29092# 186
29093::exit(___);}
29094#if 0
29095# 184
29096{
29097# 185
29098return (double)a;
29099# 186
29100}
29101#endif
29102# 88 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_atomic_functions.h"
29103__attribute__((unused)) static inline float atomicAdd(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29104#if 0
29105# 88
29106{ }
29107#endif
29108# 89 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29109__attribute__((unused)) static inline long long atomicMin(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29110#if 0
29111# 89
29112{ }
29113#endif
29114# 91 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29115__attribute__((unused)) static inline long long atomicMax(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29116#if 0
29117# 91
29118{ }
29119#endif
29120# 93 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29121__attribute__((unused)) static inline long long atomicAnd(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29122#if 0
29123# 93
29124{ }
29125#endif
29126# 95 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29127__attribute__((unused)) static inline long long atomicOr(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29128#if 0
29129# 95
29130{ }
29131#endif
29132# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29133__attribute__((unused)) static inline long long atomicXor(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29134#if 0
29135# 97
29136{ }
29137#endif
29138# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29139__attribute__((unused)) static inline unsigned long long atomicMin(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29140#if 0
29141# 99
29142{ }
29143#endif
29144# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29145__attribute__((unused)) static inline unsigned long long atomicMax(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29146#if 0
29147# 101
29148{ }
29149#endif
29150# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29151__attribute__((unused)) static inline unsigned long long atomicAnd(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29152#if 0
29153# 103
29154{ }
29155#endif
29156# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29157__attribute__((unused)) static inline unsigned long long atomicOr(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29158#if 0
29159# 105
29160{ }
29161#endif
29162# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_atomic_functions.h"
29163__attribute__((unused)) static inline unsigned long long atomicXor(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29164#if 0
29165# 107
29166{ }
29167#endif
29168# 93 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29169__attribute__((unused)) static inline double atomicAdd(double *address, double val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29170#if 0
29171# 93
29172{ }
29173#endif
29174# 96 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29175__attribute__((unused)) static inline int atomicAdd_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29176#if 0
29177# 96
29178{ }
29179#endif
29180# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29181__attribute__((unused)) static inline int atomicAdd_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29182#if 0
29183# 99
29184{ }
29185#endif
29186# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29187__attribute__((unused)) static inline unsigned atomicAdd_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29188#if 0
29189# 102
29190{ }
29191#endif
29192# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29193__attribute__((unused)) static inline unsigned atomicAdd_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29194#if 0
29195# 105
29196{ }
29197#endif
29198# 108 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29199__attribute__((unused)) static inline unsigned long long atomicAdd_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29200#if 0
29201# 108
29202{ }
29203#endif
29204# 111 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29205__attribute__((unused)) static inline unsigned long long atomicAdd_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29206#if 0
29207# 111
29208{ }
29209#endif
29210# 114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29211__attribute__((unused)) static inline float atomicAdd_block(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29212#if 0
29213# 114
29214{ }
29215#endif
29216# 117 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29217__attribute__((unused)) static inline float atomicAdd_system(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29218#if 0
29219# 117
29220{ }
29221#endif
29222# 120 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29223__attribute__((unused)) static inline double atomicAdd_block(double *address, double val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29224#if 0
29225# 120
29226{ }
29227#endif
29228# 123 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29229__attribute__((unused)) static inline double atomicAdd_system(double *address, double val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29230#if 0
29231# 123
29232{ }
29233#endif
29234# 126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29235__attribute__((unused)) static inline int atomicSub_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29236#if 0
29237# 126
29238{ }
29239#endif
29240# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29241__attribute__((unused)) static inline int atomicSub_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29242#if 0
29243# 129
29244{ }
29245#endif
29246# 132 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29247__attribute__((unused)) static inline unsigned atomicSub_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29248#if 0
29249# 132
29250{ }
29251#endif
29252# 135 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29253__attribute__((unused)) static inline unsigned atomicSub_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29254#if 0
29255# 135
29256{ }
29257#endif
29258# 138 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29259__attribute__((unused)) static inline int atomicExch_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29260#if 0
29261# 138
29262{ }
29263#endif
29264# 141 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29265__attribute__((unused)) static inline int atomicExch_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29266#if 0
29267# 141
29268{ }
29269#endif
29270# 144 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29271__attribute__((unused)) static inline unsigned atomicExch_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29272#if 0
29273# 144
29274{ }
29275#endif
29276# 147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29277__attribute__((unused)) static inline unsigned atomicExch_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29278#if 0
29279# 147
29280{ }
29281#endif
29282# 150 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29283__attribute__((unused)) static inline unsigned long long atomicExch_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29284#if 0
29285# 150
29286{ }
29287#endif
29288# 153 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29289__attribute__((unused)) static inline unsigned long long atomicExch_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29290#if 0
29291# 153
29292{ }
29293#endif
29294# 156 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29295__attribute__((unused)) static inline float atomicExch_block(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29296#if 0
29297# 156
29298{ }
29299#endif
29300# 159 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29301__attribute__((unused)) static inline float atomicExch_system(float *address, float val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29302#if 0
29303# 159
29304{ }
29305#endif
29306# 162 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29307__attribute__((unused)) static inline int atomicMin_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29308#if 0
29309# 162
29310{ }
29311#endif
29312# 165 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29313__attribute__((unused)) static inline int atomicMin_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29314#if 0
29315# 165
29316{ }
29317#endif
29318# 168 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29319__attribute__((unused)) static inline long long atomicMin_block(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29320#if 0
29321# 168
29322{ }
29323#endif
29324# 171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29325__attribute__((unused)) static inline long long atomicMin_system(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29326#if 0
29327# 171
29328{ }
29329#endif
29330# 174 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29331__attribute__((unused)) static inline unsigned atomicMin_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29332#if 0
29333# 174
29334{ }
29335#endif
29336# 177 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29337__attribute__((unused)) static inline unsigned atomicMin_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29338#if 0
29339# 177
29340{ }
29341#endif
29342# 180 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29343__attribute__((unused)) static inline unsigned long long atomicMin_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29344#if 0
29345# 180
29346{ }
29347#endif
29348# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29349__attribute__((unused)) static inline unsigned long long atomicMin_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29350#if 0
29351# 183
29352{ }
29353#endif
29354# 186 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29355__attribute__((unused)) static inline int atomicMax_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29356#if 0
29357# 186
29358{ }
29359#endif
29360# 189 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29361__attribute__((unused)) static inline int atomicMax_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29362#if 0
29363# 189
29364{ }
29365#endif
29366# 192 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29367__attribute__((unused)) static inline long long atomicMax_block(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29368#if 0
29369# 192
29370{ }
29371#endif
29372# 195 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29373__attribute__((unused)) static inline long long atomicMax_system(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29374#if 0
29375# 195
29376{ }
29377#endif
29378# 198 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29379__attribute__((unused)) static inline unsigned atomicMax_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29380#if 0
29381# 198
29382{ }
29383#endif
29384# 201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29385__attribute__((unused)) static inline unsigned atomicMax_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29386#if 0
29387# 201
29388{ }
29389#endif
29390# 204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29391__attribute__((unused)) static inline unsigned long long atomicMax_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29392#if 0
29393# 204
29394{ }
29395#endif
29396# 207 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29397__attribute__((unused)) static inline unsigned long long atomicMax_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29398#if 0
29399# 207
29400{ }
29401#endif
29402# 210 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29403__attribute__((unused)) static inline unsigned atomicInc_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29404#if 0
29405# 210
29406{ }
29407#endif
29408# 213 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29409__attribute__((unused)) static inline unsigned atomicInc_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29410#if 0
29411# 213
29412{ }
29413#endif
29414# 216 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29415__attribute__((unused)) static inline unsigned atomicDec_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29416#if 0
29417# 216
29418{ }
29419#endif
29420# 219 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29421__attribute__((unused)) static inline unsigned atomicDec_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29422#if 0
29423# 219
29424{ }
29425#endif
29426# 222 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29427__attribute__((unused)) static inline int atomicCAS_block(int *address, int compare, int val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29428#if 0
29429# 222
29430{ }
29431#endif
29432# 225 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29433__attribute__((unused)) static inline int atomicCAS_system(int *address, int compare, int val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29434#if 0
29435# 225
29436{ }
29437#endif
29438# 228 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29439__attribute__((unused)) static inline unsigned atomicCAS_block(unsigned *address, unsigned compare, unsigned
29440# 229
29441val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29442#if 0
29443# 229
29444{ }
29445#endif
29446# 232 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29447__attribute__((unused)) static inline unsigned atomicCAS_system(unsigned *address, unsigned compare, unsigned
29448# 233
29449val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29450#if 0
29451# 233
29452{ }
29453#endif
29454# 236 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29455__attribute__((unused)) static inline unsigned long long atomicCAS_block(unsigned long long *address, unsigned long long
29456# 237
29457compare, unsigned long long
29458# 238
29459val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29460#if 0
29461# 238
29462{ }
29463#endif
29464# 241 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29465__attribute__((unused)) static inline unsigned long long atomicCAS_system(unsigned long long *address, unsigned long long
29466# 242
29467compare, unsigned long long
29468# 243
29469val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
29470#if 0
29471# 243
29472{ }
29473#endif
29474# 246 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29475__attribute__((unused)) static inline int atomicAnd_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29476#if 0
29477# 246
29478{ }
29479#endif
29480# 249 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29481__attribute__((unused)) static inline int atomicAnd_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29482#if 0
29483# 249
29484{ }
29485#endif
29486# 252 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29487__attribute__((unused)) static inline long long atomicAnd_block(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29488#if 0
29489# 252
29490{ }
29491#endif
29492# 255 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29493__attribute__((unused)) static inline long long atomicAnd_system(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29494#if 0
29495# 255
29496{ }
29497#endif
29498# 258 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29499__attribute__((unused)) static inline unsigned atomicAnd_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29500#if 0
29501# 258
29502{ }
29503#endif
29504# 261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29505__attribute__((unused)) static inline unsigned atomicAnd_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29506#if 0
29507# 261
29508{ }
29509#endif
29510# 264 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29511__attribute__((unused)) static inline unsigned long long atomicAnd_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29512#if 0
29513# 264
29514{ }
29515#endif
29516# 267 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29517__attribute__((unused)) static inline unsigned long long atomicAnd_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29518#if 0
29519# 267
29520{ }
29521#endif
29522# 270 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29523__attribute__((unused)) static inline int atomicOr_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29524#if 0
29525# 270
29526{ }
29527#endif
29528# 273 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29529__attribute__((unused)) static inline int atomicOr_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29530#if 0
29531# 273
29532{ }
29533#endif
29534# 276 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29535__attribute__((unused)) static inline long long atomicOr_block(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29536#if 0
29537# 276
29538{ }
29539#endif
29540# 279 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29541__attribute__((unused)) static inline long long atomicOr_system(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29542#if 0
29543# 279
29544{ }
29545#endif
29546# 282 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29547__attribute__((unused)) static inline unsigned atomicOr_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29548#if 0
29549# 282
29550{ }
29551#endif
29552# 285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29553__attribute__((unused)) static inline unsigned atomicOr_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29554#if 0
29555# 285
29556{ }
29557#endif
29558# 288 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29559__attribute__((unused)) static inline unsigned long long atomicOr_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29560#if 0
29561# 288
29562{ }
29563#endif
29564# 291 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29565__attribute__((unused)) static inline unsigned long long atomicOr_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29566#if 0
29567# 291
29568{ }
29569#endif
29570# 294 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29571__attribute__((unused)) static inline int atomicXor_block(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29572#if 0
29573# 294
29574{ }
29575#endif
29576# 297 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29577__attribute__((unused)) static inline int atomicXor_system(int *address, int val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29578#if 0
29579# 297
29580{ }
29581#endif
29582# 300 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29583__attribute__((unused)) static inline long long atomicXor_block(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29584#if 0
29585# 300
29586{ }
29587#endif
29588# 303 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29589__attribute__((unused)) static inline long long atomicXor_system(long long *address, long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29590#if 0
29591# 303
29592{ }
29593#endif
29594# 306 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29595__attribute__((unused)) static inline unsigned atomicXor_block(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29596#if 0
29597# 306
29598{ }
29599#endif
29600# 309 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29601__attribute__((unused)) static inline unsigned atomicXor_system(unsigned *address, unsigned val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29602#if 0
29603# 309
29604{ }
29605#endif
29606# 312 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29607__attribute__((unused)) static inline unsigned long long atomicXor_block(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29608#if 0
29609# 312
29610{ }
29611#endif
29612# 315 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_60_atomic_functions.h"
29613__attribute__((unused)) static inline unsigned long long atomicXor_system(unsigned long long *address, unsigned long long val) {int volatile ___ = 1;(void)address;(void)val;::exit(___);}
29614#if 0
29615# 315
29616{ }
29617#endif
29618# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29619extern "C" {
29620# 1038 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29621}
29622# 1045
29623__attribute((deprecated("__ballot() is deprecated in favor of __ballot_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to" " suppress this warning)."))) __attribute__((unused)) static inline unsigned ballot(bool pred) {int volatile ___ = 1;(void)pred;::exit(___);}
29624#if 0
29625# 1045
29626{ }
29627#endif
29628# 1047 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29629__attribute__((unused)) static inline int syncthreads_count(bool pred) {int volatile ___ = 1;(void)pred;::exit(___);}
29630#if 0
29631# 1047
29632{ }
29633#endif
29634# 1049 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29635__attribute__((unused)) static inline bool syncthreads_and(bool pred) {int volatile ___ = 1;(void)pred;::exit(___);}
29636#if 0
29637# 1049
29638{ }
29639#endif
29640# 1051 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29641__attribute__((unused)) static inline bool syncthreads_or(bool pred) {int volatile ___ = 1;(void)pred;::exit(___);}
29642#if 0
29643# 1051
29644{ }
29645#endif
29646# 1056 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29647__attribute__((unused)) static inline unsigned __isGlobal(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29648#if 0
29649# 1056
29650{ }
29651#endif
29652# 1057 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29653__attribute__((unused)) static inline unsigned __isShared(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29654#if 0
29655# 1057
29656{ }
29657#endif
29658# 1058 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29659__attribute__((unused)) static inline unsigned __isConstant(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29660#if 0
29661# 1058
29662{ }
29663#endif
29664# 1059 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29665__attribute__((unused)) static inline unsigned __isLocal(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29666#if 0
29667# 1059
29668{ }
29669#endif
29670# 1061 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29671__attribute__((unused)) static inline unsigned __isGridConstant(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29672#if 0
29673# 1061
29674{ }
29675#endif
29676# 1063 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29677__attribute__((unused)) static inline size_t __cvta_generic_to_global(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29678#if 0
29679# 1063
29680{ }
29681#endif
29682# 1064 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29683__attribute__((unused)) static inline size_t __cvta_generic_to_shared(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29684#if 0
29685# 1064
29686{ }
29687#endif
29688# 1065 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29689__attribute__((unused)) static inline size_t __cvta_generic_to_constant(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29690#if 0
29691# 1065
29692{ }
29693#endif
29694# 1066 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29695__attribute__((unused)) static inline size_t __cvta_generic_to_local(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29696#if 0
29697# 1066
29698{ }
29699#endif
29700# 1068 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29701__attribute__((unused)) static inline size_t __cvta_generic_to_grid_constant(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
29702#if 0
29703# 1068
29704{ }
29705#endif
29706# 1071 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29707__attribute__((unused)) static inline void *__cvta_global_to_generic(size_t rawbits) {int volatile ___ = 1;(void)rawbits;::exit(___);}
29708#if 0
29709# 1071
29710{ }
29711#endif
29712# 1072 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29713__attribute__((unused)) static inline void *__cvta_shared_to_generic(size_t rawbits) {int volatile ___ = 1;(void)rawbits;::exit(___);}
29714#if 0
29715# 1072
29716{ }
29717#endif
29718# 1073 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29719__attribute__((unused)) static inline void *__cvta_constant_to_generic(size_t rawbits) {int volatile ___ = 1;(void)rawbits;::exit(___);}
29720#if 0
29721# 1073
29722{ }
29723#endif
29724# 1074 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29725__attribute__((unused)) static inline void *__cvta_local_to_generic(size_t rawbits) {int volatile ___ = 1;(void)rawbits;::exit(___);}
29726#if 0
29727# 1074
29728{ }
29729#endif
29730# 1076 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29731__attribute__((unused)) static inline void *__cvta_grid_constant_to_generic(size_t rawbits) {int volatile ___ = 1;(void)rawbits;::exit(___);}
29732#if 0
29733# 1076
29734{ }
29735#endif
29736# 1090 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29737static inline unsigned short __nv_bswap16(unsigned short x) {
29738# 1092
29739return __builtin_bswap16(x);
29740# 1098
29741}
29742# 1109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29743static inline unsigned __nv_bswap32(unsigned x) {
29744# 1111
29745return __builtin_bswap32(x);
29746# 1118
29747}
29748# 1129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_20_intrinsics.h"
29749static inline unsigned long long __nv_bswap64(unsigned long long x) {
29750# 1131
29751return __builtin_bswap64(x);
29752# 1138
29753}
29754# 123 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29755__attribute__((unused)) static inline unsigned __fns(unsigned mask, unsigned base, int offset) {int volatile ___ = 1;(void)mask;(void)base;(void)offset;::exit(___);}
29756#if 0
29757# 123
29758{ }
29759#endif
29760# 124 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29761__attribute__((unused)) static inline void __barrier_sync(unsigned id) {int volatile ___ = 1;(void)id;::exit(___);}
29762#if 0
29763# 124
29764{ }
29765#endif
29766# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29767__attribute__((unused)) static inline void __barrier_sync_count(unsigned id, unsigned cnt) {int volatile ___ = 1;(void)id;(void)cnt;::exit(___);}
29768#if 0
29769# 125
29770{ }
29771#endif
29772# 126 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29773__attribute__((unused)) static inline void __syncwarp(unsigned mask = 4294967295U) {int volatile ___ = 1;(void)mask;::exit(___);}
29774#if 0
29775# 126
29776{ }
29777#endif
29778# 127 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29779__attribute__((unused)) static inline int __all_sync(unsigned mask, int pred) {int volatile ___ = 1;(void)mask;(void)pred;::exit(___);}
29780#if 0
29781# 127
29782{ }
29783#endif
29784# 128 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29785__attribute__((unused)) static inline int __any_sync(unsigned mask, int pred) {int volatile ___ = 1;(void)mask;(void)pred;::exit(___);}
29786#if 0
29787# 128
29788{ }
29789#endif
29790# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29791__attribute__((unused)) static inline int __uni_sync(unsigned mask, int pred) {int volatile ___ = 1;(void)mask;(void)pred;::exit(___);}
29792#if 0
29793# 129
29794{ }
29795#endif
29796# 130 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29797__attribute__((unused)) static inline unsigned __ballot_sync(unsigned mask, int pred) {int volatile ___ = 1;(void)mask;(void)pred;::exit(___);}
29798#if 0
29799# 130
29800{ }
29801#endif
29802# 131 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29803__attribute__((unused)) static inline unsigned __activemask() {int volatile ___ = 1;::exit(___);}
29804#if 0
29805# 131
29806{ }
29807#endif
29808# 140 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29809__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline int __shfl(int var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
29810#if 0
29811# 140
29812{ }
29813#endif
29814# 141 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29815__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline unsigned __shfl(unsigned var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
29816#if 0
29817# 141
29818{ }
29819#endif
29820# 142 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29821__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline int __shfl_up(int var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29822#if 0
29823# 142
29824{ }
29825#endif
29826# 143 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29827__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline unsigned __shfl_up(unsigned var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29828#if 0
29829# 143
29830{ }
29831#endif
29832# 144 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29833__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline int __shfl_down(int var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29834#if 0
29835# 144
29836{ }
29837#endif
29838# 145 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29839__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline unsigned __shfl_down(unsigned var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29840#if 0
29841# 145
29842{ }
29843#endif
29844# 146 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29845__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline int __shfl_xor(int var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
29846#if 0
29847# 146
29848{ }
29849#endif
29850# 147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29851__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline unsigned __shfl_xor(unsigned var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
29852#if 0
29853# 147
29854{ }
29855#endif
29856# 148 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29857__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline float __shfl(float var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
29858#if 0
29859# 148
29860{ }
29861#endif
29862# 149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29863__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline float __shfl_up(float var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29864#if 0
29865# 149
29866{ }
29867#endif
29868# 150 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29869__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline float __shfl_down(float var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29870#if 0
29871# 150
29872{ }
29873#endif
29874# 151 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29875__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline float __shfl_xor(float var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
29876#if 0
29877# 151
29878{ }
29879#endif
29880# 154 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29881__attribute__((unused)) static inline int __shfl_sync(unsigned mask, int var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
29882#if 0
29883# 154
29884{ }
29885#endif
29886# 155 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29887__attribute__((unused)) static inline unsigned __shfl_sync(unsigned mask, unsigned var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
29888#if 0
29889# 155
29890{ }
29891#endif
29892# 156 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29893__attribute__((unused)) static inline int __shfl_up_sync(unsigned mask, int var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29894#if 0
29895# 156
29896{ }
29897#endif
29898# 157 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29899__attribute__((unused)) static inline unsigned __shfl_up_sync(unsigned mask, unsigned var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29900#if 0
29901# 157
29902{ }
29903#endif
29904# 158 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29905__attribute__((unused)) static inline int __shfl_down_sync(unsigned mask, int var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29906#if 0
29907# 158
29908{ }
29909#endif
29910# 159 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29911__attribute__((unused)) static inline unsigned __shfl_down_sync(unsigned mask, unsigned var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29912#if 0
29913# 159
29914{ }
29915#endif
29916# 160 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29917__attribute__((unused)) static inline int __shfl_xor_sync(unsigned mask, int var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
29918#if 0
29919# 160
29920{ }
29921#endif
29922# 161 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29923__attribute__((unused)) static inline unsigned __shfl_xor_sync(unsigned mask, unsigned var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
29924#if 0
29925# 161
29926{ }
29927#endif
29928# 162 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29929__attribute__((unused)) static inline float __shfl_sync(unsigned mask, float var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
29930#if 0
29931# 162
29932{ }
29933#endif
29934# 163 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29935__attribute__((unused)) static inline float __shfl_up_sync(unsigned mask, float var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29936#if 0
29937# 163
29938{ }
29939#endif
29940# 164 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29941__attribute__((unused)) static inline float __shfl_down_sync(unsigned mask, float var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
29942#if 0
29943# 164
29944{ }
29945#endif
29946# 165 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29947__attribute__((unused)) static inline float __shfl_xor_sync(unsigned mask, float var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
29948#if 0
29949# 165
29950{ }
29951#endif
29952# 169 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29953__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline unsigned long long __shfl(unsigned long long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
29954#if 0
29955# 169
29956{ }
29957#endif
29958# 170 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29959__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline long long __shfl(long long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
29960#if 0
29961# 170
29962{ }
29963#endif
29964# 171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29965__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline long long __shfl_up(long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29966#if 0
29967# 171
29968{ }
29969#endif
29970# 172 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29971__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline unsigned long long __shfl_up(unsigned long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29972#if 0
29973# 172
29974{ }
29975#endif
29976# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29977__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline long long __shfl_down(long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29978#if 0
29979# 173
29980{ }
29981#endif
29982# 174 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29983__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline unsigned long long __shfl_down(unsigned long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
29984#if 0
29985# 174
29986{ }
29987#endif
29988# 175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29989__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline long long __shfl_xor(long long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
29990#if 0
29991# 175
29992{ }
29993#endif
29994# 176 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
29995__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline unsigned long long __shfl_xor(unsigned long long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
29996#if 0
29997# 176
29998{ }
29999#endif
30000# 177 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30001__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline double __shfl(double var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
30002#if 0
30003# 177
30004{ }
30005#endif
30006# 178 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30007__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline double __shfl_up(double var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30008#if 0
30009# 178
30010{ }
30011#endif
30012# 179 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30013__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline double __shfl_down(double var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30014#if 0
30015# 179
30016{ }
30017#endif
30018# 180 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30019__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline double __shfl_xor(double var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
30020#if 0
30021# 180
30022{ }
30023#endif
30024# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30025__attribute__((unused)) static inline long long __shfl_sync(unsigned mask, long long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
30026#if 0
30027# 183
30028{ }
30029#endif
30030# 184 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30031__attribute__((unused)) static inline unsigned long long __shfl_sync(unsigned mask, unsigned long long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
30032#if 0
30033# 184
30034{ }
30035#endif
30036# 185 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30037__attribute__((unused)) static inline long long __shfl_up_sync(unsigned mask, long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30038#if 0
30039# 185
30040{ }
30041#endif
30042# 186 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30043__attribute__((unused)) static inline unsigned long long __shfl_up_sync(unsigned mask, unsigned long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30044#if 0
30045# 186
30046{ }
30047#endif
30048# 187 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30049__attribute__((unused)) static inline long long __shfl_down_sync(unsigned mask, long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30050#if 0
30051# 187
30052{ }
30053#endif
30054# 188 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30055__attribute__((unused)) static inline unsigned long long __shfl_down_sync(unsigned mask, unsigned long long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30056#if 0
30057# 188
30058{ }
30059#endif
30060# 189 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30061__attribute__((unused)) static inline long long __shfl_xor_sync(unsigned mask, long long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
30062#if 0
30063# 189
30064{ }
30065#endif
30066# 190 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30067__attribute__((unused)) static inline unsigned long long __shfl_xor_sync(unsigned mask, unsigned long long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
30068#if 0
30069# 190
30070{ }
30071#endif
30072# 191 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30073__attribute__((unused)) static inline double __shfl_sync(unsigned mask, double var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
30074#if 0
30075# 191
30076{ }
30077#endif
30078# 192 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30079__attribute__((unused)) static inline double __shfl_up_sync(unsigned mask, double var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30080#if 0
30081# 192
30082{ }
30083#endif
30084# 193 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30085__attribute__((unused)) static inline double __shfl_down_sync(unsigned mask, double var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30086#if 0
30087# 193
30088{ }
30089#endif
30090# 194 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30091__attribute__((unused)) static inline double __shfl_xor_sync(unsigned mask, double var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
30092#if 0
30093# 194
30094{ }
30095#endif
30096# 198 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30097__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline long __shfl(long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
30098#if 0
30099# 198
30100{ }
30101#endif
30102# 199 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30103__attribute((deprecated("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to sup" "press this warning)."))) __attribute__((unused)) static inline unsigned long __shfl(unsigned long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)var;(void)srcLane;(void)width;::exit(___);}
30104#if 0
30105# 199
30106{ }
30107#endif
30108# 200 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30109__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline long __shfl_up(long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30110#if 0
30111# 200
30112{ }
30113#endif
30114# 201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30115__attribute((deprecated("__shfl_up() is deprecated in favor of __shfl_up_sync() and may be removed in a future release (Use -Wno-deprecated-declarations " "to suppress this warning)."))) __attribute__((unused)) static inline unsigned long __shfl_up(unsigned long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30116#if 0
30117# 201
30118{ }
30119#endif
30120# 202 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30121__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline long __shfl_down(long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30122#if 0
30123# 202
30124{ }
30125#endif
30126# 203 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30127__attribute((deprecated("__shfl_down() is deprecated in favor of __shfl_down_sync() and may be removed in a future release (Use -Wno-deprecated-declarati" "ons to suppress this warning)."))) __attribute__((unused)) static inline unsigned long __shfl_down(unsigned long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)var;(void)delta;(void)width;::exit(___);}
30128#if 0
30129# 203
30130{ }
30131#endif
30132# 204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30133__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline long __shfl_xor(long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
30134#if 0
30135# 204
30136{ }
30137#endif
30138# 205 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30139__attribute((deprecated("__shfl_xor() is deprecated in favor of __shfl_xor_sync() and may be removed in a future release (Use -Wno-deprecated-declaration" "s to suppress this warning)."))) __attribute__((unused)) static inline unsigned long __shfl_xor(unsigned long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)var;(void)laneMask;(void)width;::exit(___);}
30140#if 0
30141# 205
30142{ }
30143#endif
30144# 208 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30145__attribute__((unused)) static inline long __shfl_sync(unsigned mask, long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
30146#if 0
30147# 208
30148{ }
30149#endif
30150# 209 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30151__attribute__((unused)) static inline unsigned long __shfl_sync(unsigned mask, unsigned long var, int srcLane, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)srcLane;(void)width;::exit(___);}
30152#if 0
30153# 209
30154{ }
30155#endif
30156# 210 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30157__attribute__((unused)) static inline long __shfl_up_sync(unsigned mask, long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30158#if 0
30159# 210
30160{ }
30161#endif
30162# 211 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30163__attribute__((unused)) static inline unsigned long __shfl_up_sync(unsigned mask, unsigned long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30164#if 0
30165# 211
30166{ }
30167#endif
30168# 212 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30169__attribute__((unused)) static inline long __shfl_down_sync(unsigned mask, long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30170#if 0
30171# 212
30172{ }
30173#endif
30174# 213 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30175__attribute__((unused)) static inline unsigned long __shfl_down_sync(unsigned mask, unsigned long var, unsigned delta, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)delta;(void)width;::exit(___);}
30176#if 0
30177# 213
30178{ }
30179#endif
30180# 214 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30181__attribute__((unused)) static inline long __shfl_xor_sync(unsigned mask, long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
30182#if 0
30183# 214
30184{ }
30185#endif
30186# 215 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.h"
30187__attribute__((unused)) static inline unsigned long __shfl_xor_sync(unsigned mask, unsigned long var, int laneMask, int width = 32) {int volatile ___ = 1;(void)mask;(void)var;(void)laneMask;(void)width;::exit(___);}
30188#if 0
30189# 215
30190{ }
30191#endif
30192# 91 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30193__attribute__((unused)) static inline long __ldg(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30194#if 0
30195# 91
30196{ }
30197#endif
30198# 92 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30199__attribute__((unused)) static inline unsigned long __ldg(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30200#if 0
30201# 92
30202{ }
30203#endif
30204# 94 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30205__attribute__((unused)) static inline char __ldg(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30206#if 0
30207# 94
30208{ }
30209#endif
30210# 95 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30211__attribute__((unused)) static inline signed char __ldg(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30212#if 0
30213# 95
30214{ }
30215#endif
30216# 96 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30217__attribute__((unused)) static inline short __ldg(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30218#if 0
30219# 96
30220{ }
30221#endif
30222# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30223__attribute__((unused)) static inline int __ldg(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30224#if 0
30225# 97
30226{ }
30227#endif
30228# 98 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30229__attribute__((unused)) static inline long long __ldg(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30230#if 0
30231# 98
30232{ }
30233#endif
30234# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30235__attribute__((unused)) static inline char2 __ldg(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30236#if 0
30237# 99
30238{ }
30239#endif
30240# 100 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30241__attribute__((unused)) static inline char4 __ldg(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30242#if 0
30243# 100
30244{ }
30245#endif
30246# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30247__attribute__((unused)) static inline short2 __ldg(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30248#if 0
30249# 101
30250{ }
30251#endif
30252# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30253__attribute__((unused)) static inline short4 __ldg(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30254#if 0
30255# 102
30256{ }
30257#endif
30258# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30259__attribute__((unused)) static inline int2 __ldg(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30260#if 0
30261# 103
30262{ }
30263#endif
30264# 104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30265__attribute__((unused)) static inline int4 __ldg(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30266#if 0
30267# 104
30268{ }
30269#endif
30270# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30271__attribute__((unused)) static inline longlong2 __ldg(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30272#if 0
30273# 105
30274{ }
30275#endif
30276# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30277__attribute__((unused)) static inline unsigned char __ldg(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30278#if 0
30279# 107
30280{ }
30281#endif
30282# 108 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30283__attribute__((unused)) static inline unsigned short __ldg(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30284#if 0
30285# 108
30286{ }
30287#endif
30288# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30289__attribute__((unused)) static inline unsigned __ldg(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30290#if 0
30291# 109
30292{ }
30293#endif
30294# 110 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30295__attribute__((unused)) static inline unsigned long long __ldg(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30296#if 0
30297# 110
30298{ }
30299#endif
30300# 111 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30301__attribute__((unused)) static inline uchar2 __ldg(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30302#if 0
30303# 111
30304{ }
30305#endif
30306# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30307__attribute__((unused)) static inline uchar4 __ldg(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30308#if 0
30309# 112
30310{ }
30311#endif
30312# 113 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30313__attribute__((unused)) static inline ushort2 __ldg(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30314#if 0
30315# 113
30316{ }
30317#endif
30318# 114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30319__attribute__((unused)) static inline ushort4 __ldg(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30320#if 0
30321# 114
30322{ }
30323#endif
30324# 115 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30325__attribute__((unused)) static inline uint2 __ldg(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30326#if 0
30327# 115
30328{ }
30329#endif
30330# 116 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30331__attribute__((unused)) static inline uint4 __ldg(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30332#if 0
30333# 116
30334{ }
30335#endif
30336# 117 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30337__attribute__((unused)) static inline ulonglong2 __ldg(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30338#if 0
30339# 117
30340{ }
30341#endif
30342# 119 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30343__attribute__((unused)) static inline float __ldg(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30344#if 0
30345# 119
30346{ }
30347#endif
30348# 120 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30349__attribute__((unused)) static inline double __ldg(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30350#if 0
30351# 120
30352{ }
30353#endif
30354# 121 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30355__attribute__((unused)) static inline float2 __ldg(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30356#if 0
30357# 121
30358{ }
30359#endif
30360# 122 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30361__attribute__((unused)) static inline float4 __ldg(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30362#if 0
30363# 122
30364{ }
30365#endif
30366# 123 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30367__attribute__((unused)) static inline double2 __ldg(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30368#if 0
30369# 123
30370{ }
30371#endif
30372# 128 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30373__attribute__((unused)) static inline long __ldcg(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30374#if 0
30375# 128
30376{ }
30377#endif
30378# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30379__attribute__((unused)) static inline unsigned long __ldcg(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30380#if 0
30381# 129
30382{ }
30383#endif
30384# 131 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30385__attribute__((unused)) static inline char __ldcg(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30386#if 0
30387# 131
30388{ }
30389#endif
30390# 132 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30391__attribute__((unused)) static inline signed char __ldcg(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30392#if 0
30393# 132
30394{ }
30395#endif
30396# 133 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30397__attribute__((unused)) static inline short __ldcg(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30398#if 0
30399# 133
30400{ }
30401#endif
30402# 134 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30403__attribute__((unused)) static inline int __ldcg(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30404#if 0
30405# 134
30406{ }
30407#endif
30408# 135 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30409__attribute__((unused)) static inline long long __ldcg(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30410#if 0
30411# 135
30412{ }
30413#endif
30414# 136 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30415__attribute__((unused)) static inline char2 __ldcg(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30416#if 0
30417# 136
30418{ }
30419#endif
30420# 137 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30421__attribute__((unused)) static inline char4 __ldcg(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30422#if 0
30423# 137
30424{ }
30425#endif
30426# 138 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30427__attribute__((unused)) static inline short2 __ldcg(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30428#if 0
30429# 138
30430{ }
30431#endif
30432# 139 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30433__attribute__((unused)) static inline short4 __ldcg(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30434#if 0
30435# 139
30436{ }
30437#endif
30438# 140 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30439__attribute__((unused)) static inline int2 __ldcg(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30440#if 0
30441# 140
30442{ }
30443#endif
30444# 141 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30445__attribute__((unused)) static inline int4 __ldcg(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30446#if 0
30447# 141
30448{ }
30449#endif
30450# 142 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30451__attribute__((unused)) static inline longlong2 __ldcg(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30452#if 0
30453# 142
30454{ }
30455#endif
30456# 144 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30457__attribute__((unused)) static inline unsigned char __ldcg(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30458#if 0
30459# 144
30460{ }
30461#endif
30462# 145 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30463__attribute__((unused)) static inline unsigned short __ldcg(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30464#if 0
30465# 145
30466{ }
30467#endif
30468# 146 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30469__attribute__((unused)) static inline unsigned __ldcg(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30470#if 0
30471# 146
30472{ }
30473#endif
30474# 147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30475__attribute__((unused)) static inline unsigned long long __ldcg(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30476#if 0
30477# 147
30478{ }
30479#endif
30480# 148 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30481__attribute__((unused)) static inline uchar2 __ldcg(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30482#if 0
30483# 148
30484{ }
30485#endif
30486# 149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30487__attribute__((unused)) static inline uchar4 __ldcg(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30488#if 0
30489# 149
30490{ }
30491#endif
30492# 150 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30493__attribute__((unused)) static inline ushort2 __ldcg(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30494#if 0
30495# 150
30496{ }
30497#endif
30498# 151 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30499__attribute__((unused)) static inline ushort4 __ldcg(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30500#if 0
30501# 151
30502{ }
30503#endif
30504# 152 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30505__attribute__((unused)) static inline uint2 __ldcg(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30506#if 0
30507# 152
30508{ }
30509#endif
30510# 153 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30511__attribute__((unused)) static inline uint4 __ldcg(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30512#if 0
30513# 153
30514{ }
30515#endif
30516# 154 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30517__attribute__((unused)) static inline ulonglong2 __ldcg(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30518#if 0
30519# 154
30520{ }
30521#endif
30522# 156 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30523__attribute__((unused)) static inline float __ldcg(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30524#if 0
30525# 156
30526{ }
30527#endif
30528# 157 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30529__attribute__((unused)) static inline double __ldcg(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30530#if 0
30531# 157
30532{ }
30533#endif
30534# 158 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30535__attribute__((unused)) static inline float2 __ldcg(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30536#if 0
30537# 158
30538{ }
30539#endif
30540# 159 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30541__attribute__((unused)) static inline float4 __ldcg(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30542#if 0
30543# 159
30544{ }
30545#endif
30546# 160 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30547__attribute__((unused)) static inline double2 __ldcg(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30548#if 0
30549# 160
30550{ }
30551#endif
30552# 164 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30553__attribute__((unused)) static inline long __ldca(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30554#if 0
30555# 164
30556{ }
30557#endif
30558# 165 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30559__attribute__((unused)) static inline unsigned long __ldca(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30560#if 0
30561# 165
30562{ }
30563#endif
30564# 167 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30565__attribute__((unused)) static inline char __ldca(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30566#if 0
30567# 167
30568{ }
30569#endif
30570# 168 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30571__attribute__((unused)) static inline signed char __ldca(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30572#if 0
30573# 168
30574{ }
30575#endif
30576# 169 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30577__attribute__((unused)) static inline short __ldca(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30578#if 0
30579# 169
30580{ }
30581#endif
30582# 170 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30583__attribute__((unused)) static inline int __ldca(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30584#if 0
30585# 170
30586{ }
30587#endif
30588# 171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30589__attribute__((unused)) static inline long long __ldca(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30590#if 0
30591# 171
30592{ }
30593#endif
30594# 172 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30595__attribute__((unused)) static inline char2 __ldca(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30596#if 0
30597# 172
30598{ }
30599#endif
30600# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30601__attribute__((unused)) static inline char4 __ldca(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30602#if 0
30603# 173
30604{ }
30605#endif
30606# 174 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30607__attribute__((unused)) static inline short2 __ldca(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30608#if 0
30609# 174
30610{ }
30611#endif
30612# 175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30613__attribute__((unused)) static inline short4 __ldca(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30614#if 0
30615# 175
30616{ }
30617#endif
30618# 176 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30619__attribute__((unused)) static inline int2 __ldca(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30620#if 0
30621# 176
30622{ }
30623#endif
30624# 177 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30625__attribute__((unused)) static inline int4 __ldca(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30626#if 0
30627# 177
30628{ }
30629#endif
30630# 178 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30631__attribute__((unused)) static inline longlong2 __ldca(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30632#if 0
30633# 178
30634{ }
30635#endif
30636# 180 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30637__attribute__((unused)) static inline unsigned char __ldca(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30638#if 0
30639# 180
30640{ }
30641#endif
30642# 181 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30643__attribute__((unused)) static inline unsigned short __ldca(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30644#if 0
30645# 181
30646{ }
30647#endif
30648# 182 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30649__attribute__((unused)) static inline unsigned __ldca(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30650#if 0
30651# 182
30652{ }
30653#endif
30654# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30655__attribute__((unused)) static inline unsigned long long __ldca(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30656#if 0
30657# 183
30658{ }
30659#endif
30660# 184 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30661__attribute__((unused)) static inline uchar2 __ldca(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30662#if 0
30663# 184
30664{ }
30665#endif
30666# 185 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30667__attribute__((unused)) static inline uchar4 __ldca(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30668#if 0
30669# 185
30670{ }
30671#endif
30672# 186 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30673__attribute__((unused)) static inline ushort2 __ldca(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30674#if 0
30675# 186
30676{ }
30677#endif
30678# 187 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30679__attribute__((unused)) static inline ushort4 __ldca(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30680#if 0
30681# 187
30682{ }
30683#endif
30684# 188 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30685__attribute__((unused)) static inline uint2 __ldca(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30686#if 0
30687# 188
30688{ }
30689#endif
30690# 189 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30691__attribute__((unused)) static inline uint4 __ldca(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30692#if 0
30693# 189
30694{ }
30695#endif
30696# 190 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30697__attribute__((unused)) static inline ulonglong2 __ldca(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30698#if 0
30699# 190
30700{ }
30701#endif
30702# 192 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30703__attribute__((unused)) static inline float __ldca(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30704#if 0
30705# 192
30706{ }
30707#endif
30708# 193 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30709__attribute__((unused)) static inline double __ldca(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30710#if 0
30711# 193
30712{ }
30713#endif
30714# 194 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30715__attribute__((unused)) static inline float2 __ldca(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30716#if 0
30717# 194
30718{ }
30719#endif
30720# 195 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30721__attribute__((unused)) static inline float4 __ldca(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30722#if 0
30723# 195
30724{ }
30725#endif
30726# 196 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30727__attribute__((unused)) static inline double2 __ldca(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30728#if 0
30729# 196
30730{ }
30731#endif
30732# 200 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30733__attribute__((unused)) static inline long __ldcs(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30734#if 0
30735# 200
30736{ }
30737#endif
30738# 201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30739__attribute__((unused)) static inline unsigned long __ldcs(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30740#if 0
30741# 201
30742{ }
30743#endif
30744# 203 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30745__attribute__((unused)) static inline char __ldcs(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30746#if 0
30747# 203
30748{ }
30749#endif
30750# 204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30751__attribute__((unused)) static inline signed char __ldcs(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30752#if 0
30753# 204
30754{ }
30755#endif
30756# 205 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30757__attribute__((unused)) static inline short __ldcs(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30758#if 0
30759# 205
30760{ }
30761#endif
30762# 206 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30763__attribute__((unused)) static inline int __ldcs(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30764#if 0
30765# 206
30766{ }
30767#endif
30768# 207 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30769__attribute__((unused)) static inline long long __ldcs(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30770#if 0
30771# 207
30772{ }
30773#endif
30774# 208 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30775__attribute__((unused)) static inline char2 __ldcs(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30776#if 0
30777# 208
30778{ }
30779#endif
30780# 209 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30781__attribute__((unused)) static inline char4 __ldcs(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30782#if 0
30783# 209
30784{ }
30785#endif
30786# 210 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30787__attribute__((unused)) static inline short2 __ldcs(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30788#if 0
30789# 210
30790{ }
30791#endif
30792# 211 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30793__attribute__((unused)) static inline short4 __ldcs(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30794#if 0
30795# 211
30796{ }
30797#endif
30798# 212 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30799__attribute__((unused)) static inline int2 __ldcs(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30800#if 0
30801# 212
30802{ }
30803#endif
30804# 213 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30805__attribute__((unused)) static inline int4 __ldcs(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30806#if 0
30807# 213
30808{ }
30809#endif
30810# 214 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30811__attribute__((unused)) static inline longlong2 __ldcs(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30812#if 0
30813# 214
30814{ }
30815#endif
30816# 216 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30817__attribute__((unused)) static inline unsigned char __ldcs(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30818#if 0
30819# 216
30820{ }
30821#endif
30822# 217 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30823__attribute__((unused)) static inline unsigned short __ldcs(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30824#if 0
30825# 217
30826{ }
30827#endif
30828# 218 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30829__attribute__((unused)) static inline unsigned __ldcs(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30830#if 0
30831# 218
30832{ }
30833#endif
30834# 219 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30835__attribute__((unused)) static inline unsigned long long __ldcs(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30836#if 0
30837# 219
30838{ }
30839#endif
30840# 220 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30841__attribute__((unused)) static inline uchar2 __ldcs(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30842#if 0
30843# 220
30844{ }
30845#endif
30846# 221 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30847__attribute__((unused)) static inline uchar4 __ldcs(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30848#if 0
30849# 221
30850{ }
30851#endif
30852# 222 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30853__attribute__((unused)) static inline ushort2 __ldcs(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30854#if 0
30855# 222
30856{ }
30857#endif
30858# 223 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30859__attribute__((unused)) static inline ushort4 __ldcs(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30860#if 0
30861# 223
30862{ }
30863#endif
30864# 224 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30865__attribute__((unused)) static inline uint2 __ldcs(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30866#if 0
30867# 224
30868{ }
30869#endif
30870# 225 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30871__attribute__((unused)) static inline uint4 __ldcs(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30872#if 0
30873# 225
30874{ }
30875#endif
30876# 226 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30877__attribute__((unused)) static inline ulonglong2 __ldcs(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30878#if 0
30879# 226
30880{ }
30881#endif
30882# 228 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30883__attribute__((unused)) static inline float __ldcs(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30884#if 0
30885# 228
30886{ }
30887#endif
30888# 229 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30889__attribute__((unused)) static inline double __ldcs(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30890#if 0
30891# 229
30892{ }
30893#endif
30894# 230 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30895__attribute__((unused)) static inline float2 __ldcs(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30896#if 0
30897# 230
30898{ }
30899#endif
30900# 231 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30901__attribute__((unused)) static inline float4 __ldcs(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30902#if 0
30903# 231
30904{ }
30905#endif
30906# 232 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30907__attribute__((unused)) static inline double2 __ldcs(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30908#if 0
30909# 232
30910{ }
30911#endif
30912# 236 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30913__attribute__((unused)) static inline long __ldlu(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30914#if 0
30915# 236
30916{ }
30917#endif
30918# 237 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30919__attribute__((unused)) static inline unsigned long __ldlu(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30920#if 0
30921# 237
30922{ }
30923#endif
30924# 239 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30925__attribute__((unused)) static inline char __ldlu(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30926#if 0
30927# 239
30928{ }
30929#endif
30930# 240 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30931__attribute__((unused)) static inline signed char __ldlu(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30932#if 0
30933# 240
30934{ }
30935#endif
30936# 241 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30937__attribute__((unused)) static inline short __ldlu(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30938#if 0
30939# 241
30940{ }
30941#endif
30942# 242 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30943__attribute__((unused)) static inline int __ldlu(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30944#if 0
30945# 242
30946{ }
30947#endif
30948# 243 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30949__attribute__((unused)) static inline long long __ldlu(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30950#if 0
30951# 243
30952{ }
30953#endif
30954# 244 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30955__attribute__((unused)) static inline char2 __ldlu(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30956#if 0
30957# 244
30958{ }
30959#endif
30960# 245 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30961__attribute__((unused)) static inline char4 __ldlu(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30962#if 0
30963# 245
30964{ }
30965#endif
30966# 246 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30967__attribute__((unused)) static inline short2 __ldlu(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30968#if 0
30969# 246
30970{ }
30971#endif
30972# 247 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30973__attribute__((unused)) static inline short4 __ldlu(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30974#if 0
30975# 247
30976{ }
30977#endif
30978# 248 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30979__attribute__((unused)) static inline int2 __ldlu(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30980#if 0
30981# 248
30982{ }
30983#endif
30984# 249 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30985__attribute__((unused)) static inline int4 __ldlu(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30986#if 0
30987# 249
30988{ }
30989#endif
30990# 250 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30991__attribute__((unused)) static inline longlong2 __ldlu(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30992#if 0
30993# 250
30994{ }
30995#endif
30996# 252 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
30997__attribute__((unused)) static inline unsigned char __ldlu(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
30998#if 0
30999# 252
31000{ }
31001#endif
31002# 253 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31003__attribute__((unused)) static inline unsigned short __ldlu(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31004#if 0
31005# 253
31006{ }
31007#endif
31008# 254 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31009__attribute__((unused)) static inline unsigned __ldlu(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31010#if 0
31011# 254
31012{ }
31013#endif
31014# 255 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31015__attribute__((unused)) static inline unsigned long long __ldlu(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31016#if 0
31017# 255
31018{ }
31019#endif
31020# 256 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31021__attribute__((unused)) static inline uchar2 __ldlu(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31022#if 0
31023# 256
31024{ }
31025#endif
31026# 257 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31027__attribute__((unused)) static inline uchar4 __ldlu(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31028#if 0
31029# 257
31030{ }
31031#endif
31032# 258 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31033__attribute__((unused)) static inline ushort2 __ldlu(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31034#if 0
31035# 258
31036{ }
31037#endif
31038# 259 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31039__attribute__((unused)) static inline ushort4 __ldlu(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31040#if 0
31041# 259
31042{ }
31043#endif
31044# 260 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31045__attribute__((unused)) static inline uint2 __ldlu(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31046#if 0
31047# 260
31048{ }
31049#endif
31050# 261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31051__attribute__((unused)) static inline uint4 __ldlu(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31052#if 0
31053# 261
31054{ }
31055#endif
31056# 262 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31057__attribute__((unused)) static inline ulonglong2 __ldlu(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31058#if 0
31059# 262
31060{ }
31061#endif
31062# 264 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31063__attribute__((unused)) static inline float __ldlu(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31064#if 0
31065# 264
31066{ }
31067#endif
31068# 265 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31069__attribute__((unused)) static inline double __ldlu(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31070#if 0
31071# 265
31072{ }
31073#endif
31074# 266 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31075__attribute__((unused)) static inline float2 __ldlu(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31076#if 0
31077# 266
31078{ }
31079#endif
31080# 267 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31081__attribute__((unused)) static inline float4 __ldlu(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31082#if 0
31083# 267
31084{ }
31085#endif
31086# 268 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31087__attribute__((unused)) static inline double2 __ldlu(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31088#if 0
31089# 268
31090{ }
31091#endif
31092# 272 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31093__attribute__((unused)) static inline long __ldcv(const long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31094#if 0
31095# 272
31096{ }
31097#endif
31098# 273 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31099__attribute__((unused)) static inline unsigned long __ldcv(const unsigned long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31100#if 0
31101# 273
31102{ }
31103#endif
31104# 275 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31105__attribute__((unused)) static inline char __ldcv(const char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31106#if 0
31107# 275
31108{ }
31109#endif
31110# 276 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31111__attribute__((unused)) static inline signed char __ldcv(const signed char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31112#if 0
31113# 276
31114{ }
31115#endif
31116# 277 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31117__attribute__((unused)) static inline short __ldcv(const short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31118#if 0
31119# 277
31120{ }
31121#endif
31122# 278 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31123__attribute__((unused)) static inline int __ldcv(const int *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31124#if 0
31125# 278
31126{ }
31127#endif
31128# 279 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31129__attribute__((unused)) static inline long long __ldcv(const long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31130#if 0
31131# 279
31132{ }
31133#endif
31134# 280 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31135__attribute__((unused)) static inline char2 __ldcv(const char2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31136#if 0
31137# 280
31138{ }
31139#endif
31140# 281 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31141__attribute__((unused)) static inline char4 __ldcv(const char4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31142#if 0
31143# 281
31144{ }
31145#endif
31146# 282 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31147__attribute__((unused)) static inline short2 __ldcv(const short2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31148#if 0
31149# 282
31150{ }
31151#endif
31152# 283 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31153__attribute__((unused)) static inline short4 __ldcv(const short4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31154#if 0
31155# 283
31156{ }
31157#endif
31158# 284 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31159__attribute__((unused)) static inline int2 __ldcv(const int2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31160#if 0
31161# 284
31162{ }
31163#endif
31164# 285 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31165__attribute__((unused)) static inline int4 __ldcv(const int4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31166#if 0
31167# 285
31168{ }
31169#endif
31170# 286 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31171__attribute__((unused)) static inline longlong2 __ldcv(const longlong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31172#if 0
31173# 286
31174{ }
31175#endif
31176# 288 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31177__attribute__((unused)) static inline unsigned char __ldcv(const unsigned char *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31178#if 0
31179# 288
31180{ }
31181#endif
31182# 289 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31183__attribute__((unused)) static inline unsigned short __ldcv(const unsigned short *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31184#if 0
31185# 289
31186{ }
31187#endif
31188# 290 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31189__attribute__((unused)) static inline unsigned __ldcv(const unsigned *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31190#if 0
31191# 290
31192{ }
31193#endif
31194# 291 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31195__attribute__((unused)) static inline unsigned long long __ldcv(const unsigned long long *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31196#if 0
31197# 291
31198{ }
31199#endif
31200# 292 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31201__attribute__((unused)) static inline uchar2 __ldcv(const uchar2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31202#if 0
31203# 292
31204{ }
31205#endif
31206# 293 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31207__attribute__((unused)) static inline uchar4 __ldcv(const uchar4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31208#if 0
31209# 293
31210{ }
31211#endif
31212# 294 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31213__attribute__((unused)) static inline ushort2 __ldcv(const ushort2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31214#if 0
31215# 294
31216{ }
31217#endif
31218# 295 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31219__attribute__((unused)) static inline ushort4 __ldcv(const ushort4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31220#if 0
31221# 295
31222{ }
31223#endif
31224# 296 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31225__attribute__((unused)) static inline uint2 __ldcv(const uint2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31226#if 0
31227# 296
31228{ }
31229#endif
31230# 297 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31231__attribute__((unused)) static inline uint4 __ldcv(const uint4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31232#if 0
31233# 297
31234{ }
31235#endif
31236# 298 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31237__attribute__((unused)) static inline ulonglong2 __ldcv(const ulonglong2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31238#if 0
31239# 298
31240{ }
31241#endif
31242# 300 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31243__attribute__((unused)) static inline float __ldcv(const float *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31244#if 0
31245# 300
31246{ }
31247#endif
31248# 301 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31249__attribute__((unused)) static inline double __ldcv(const double *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31250#if 0
31251# 301
31252{ }
31253#endif
31254# 302 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31255__attribute__((unused)) static inline float2 __ldcv(const float2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31256#if 0
31257# 302
31258{ }
31259#endif
31260# 303 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31261__attribute__((unused)) static inline float4 __ldcv(const float4 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31262#if 0
31263# 303
31264{ }
31265#endif
31266# 304 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31267__attribute__((unused)) static inline double2 __ldcv(const double2 *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
31268#if 0
31269# 304
31270{ }
31271#endif
31272# 308 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31273__attribute__((unused)) static inline void __stwb(long *ptr, long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31274#if 0
31275# 308
31276{ }
31277#endif
31278# 309 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31279__attribute__((unused)) static inline void __stwb(unsigned long *ptr, unsigned long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31280#if 0
31281# 309
31282{ }
31283#endif
31284# 311 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31285__attribute__((unused)) static inline void __stwb(char *ptr, char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31286#if 0
31287# 311
31288{ }
31289#endif
31290# 312 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31291__attribute__((unused)) static inline void __stwb(signed char *ptr, signed char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31292#if 0
31293# 312
31294{ }
31295#endif
31296# 313 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31297__attribute__((unused)) static inline void __stwb(short *ptr, short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31298#if 0
31299# 313
31300{ }
31301#endif
31302# 314 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31303__attribute__((unused)) static inline void __stwb(int *ptr, int value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31304#if 0
31305# 314
31306{ }
31307#endif
31308# 315 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31309__attribute__((unused)) static inline void __stwb(long long *ptr, long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31310#if 0
31311# 315
31312{ }
31313#endif
31314# 316 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31315__attribute__((unused)) static inline void __stwb(char2 *ptr, char2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31316#if 0
31317# 316
31318{ }
31319#endif
31320# 317 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31321__attribute__((unused)) static inline void __stwb(char4 *ptr, char4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31322#if 0
31323# 317
31324{ }
31325#endif
31326# 318 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31327__attribute__((unused)) static inline void __stwb(short2 *ptr, short2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31328#if 0
31329# 318
31330{ }
31331#endif
31332# 319 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31333__attribute__((unused)) static inline void __stwb(short4 *ptr, short4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31334#if 0
31335# 319
31336{ }
31337#endif
31338# 320 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31339__attribute__((unused)) static inline void __stwb(int2 *ptr, int2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31340#if 0
31341# 320
31342{ }
31343#endif
31344# 321 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31345__attribute__((unused)) static inline void __stwb(int4 *ptr, int4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31346#if 0
31347# 321
31348{ }
31349#endif
31350# 322 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31351__attribute__((unused)) static inline void __stwb(longlong2 *ptr, longlong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31352#if 0
31353# 322
31354{ }
31355#endif
31356# 324 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31357__attribute__((unused)) static inline void __stwb(unsigned char *ptr, unsigned char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31358#if 0
31359# 324
31360{ }
31361#endif
31362# 325 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31363__attribute__((unused)) static inline void __stwb(unsigned short *ptr, unsigned short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31364#if 0
31365# 325
31366{ }
31367#endif
31368# 326 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31369__attribute__((unused)) static inline void __stwb(unsigned *ptr, unsigned value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31370#if 0
31371# 326
31372{ }
31373#endif
31374# 327 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31375__attribute__((unused)) static inline void __stwb(unsigned long long *ptr, unsigned long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31376#if 0
31377# 327
31378{ }
31379#endif
31380# 328 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31381__attribute__((unused)) static inline void __stwb(uchar2 *ptr, uchar2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31382#if 0
31383# 328
31384{ }
31385#endif
31386# 329 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31387__attribute__((unused)) static inline void __stwb(uchar4 *ptr, uchar4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31388#if 0
31389# 329
31390{ }
31391#endif
31392# 330 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31393__attribute__((unused)) static inline void __stwb(ushort2 *ptr, ushort2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31394#if 0
31395# 330
31396{ }
31397#endif
31398# 331 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31399__attribute__((unused)) static inline void __stwb(ushort4 *ptr, ushort4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31400#if 0
31401# 331
31402{ }
31403#endif
31404# 332 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31405__attribute__((unused)) static inline void __stwb(uint2 *ptr, uint2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31406#if 0
31407# 332
31408{ }
31409#endif
31410# 333 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31411__attribute__((unused)) static inline void __stwb(uint4 *ptr, uint4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31412#if 0
31413# 333
31414{ }
31415#endif
31416# 334 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31417__attribute__((unused)) static inline void __stwb(ulonglong2 *ptr, ulonglong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31418#if 0
31419# 334
31420{ }
31421#endif
31422# 336 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31423__attribute__((unused)) static inline void __stwb(float *ptr, float value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31424#if 0
31425# 336
31426{ }
31427#endif
31428# 337 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31429__attribute__((unused)) static inline void __stwb(double *ptr, double value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31430#if 0
31431# 337
31432{ }
31433#endif
31434# 338 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31435__attribute__((unused)) static inline void __stwb(float2 *ptr, float2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31436#if 0
31437# 338
31438{ }
31439#endif
31440# 339 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31441__attribute__((unused)) static inline void __stwb(float4 *ptr, float4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31442#if 0
31443# 339
31444{ }
31445#endif
31446# 340 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31447__attribute__((unused)) static inline void __stwb(double2 *ptr, double2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31448#if 0
31449# 340
31450{ }
31451#endif
31452# 344 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31453__attribute__((unused)) static inline void __stcg(long *ptr, long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31454#if 0
31455# 344
31456{ }
31457#endif
31458# 345 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31459__attribute__((unused)) static inline void __stcg(unsigned long *ptr, unsigned long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31460#if 0
31461# 345
31462{ }
31463#endif
31464# 347 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31465__attribute__((unused)) static inline void __stcg(char *ptr, char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31466#if 0
31467# 347
31468{ }
31469#endif
31470# 348 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31471__attribute__((unused)) static inline void __stcg(signed char *ptr, signed char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31472#if 0
31473# 348
31474{ }
31475#endif
31476# 349 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31477__attribute__((unused)) static inline void __stcg(short *ptr, short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31478#if 0
31479# 349
31480{ }
31481#endif
31482# 350 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31483__attribute__((unused)) static inline void __stcg(int *ptr, int value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31484#if 0
31485# 350
31486{ }
31487#endif
31488# 351 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31489__attribute__((unused)) static inline void __stcg(long long *ptr, long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31490#if 0
31491# 351
31492{ }
31493#endif
31494# 352 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31495__attribute__((unused)) static inline void __stcg(char2 *ptr, char2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31496#if 0
31497# 352
31498{ }
31499#endif
31500# 353 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31501__attribute__((unused)) static inline void __stcg(char4 *ptr, char4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31502#if 0
31503# 353
31504{ }
31505#endif
31506# 354 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31507__attribute__((unused)) static inline void __stcg(short2 *ptr, short2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31508#if 0
31509# 354
31510{ }
31511#endif
31512# 355 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31513__attribute__((unused)) static inline void __stcg(short4 *ptr, short4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31514#if 0
31515# 355
31516{ }
31517#endif
31518# 356 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31519__attribute__((unused)) static inline void __stcg(int2 *ptr, int2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31520#if 0
31521# 356
31522{ }
31523#endif
31524# 357 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31525__attribute__((unused)) static inline void __stcg(int4 *ptr, int4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31526#if 0
31527# 357
31528{ }
31529#endif
31530# 358 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31531__attribute__((unused)) static inline void __stcg(longlong2 *ptr, longlong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31532#if 0
31533# 358
31534{ }
31535#endif
31536# 360 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31537__attribute__((unused)) static inline void __stcg(unsigned char *ptr, unsigned char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31538#if 0
31539# 360
31540{ }
31541#endif
31542# 361 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31543__attribute__((unused)) static inline void __stcg(unsigned short *ptr, unsigned short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31544#if 0
31545# 361
31546{ }
31547#endif
31548# 362 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31549__attribute__((unused)) static inline void __stcg(unsigned *ptr, unsigned value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31550#if 0
31551# 362
31552{ }
31553#endif
31554# 363 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31555__attribute__((unused)) static inline void __stcg(unsigned long long *ptr, unsigned long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31556#if 0
31557# 363
31558{ }
31559#endif
31560# 364 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31561__attribute__((unused)) static inline void __stcg(uchar2 *ptr, uchar2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31562#if 0
31563# 364
31564{ }
31565#endif
31566# 365 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31567__attribute__((unused)) static inline void __stcg(uchar4 *ptr, uchar4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31568#if 0
31569# 365
31570{ }
31571#endif
31572# 366 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31573__attribute__((unused)) static inline void __stcg(ushort2 *ptr, ushort2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31574#if 0
31575# 366
31576{ }
31577#endif
31578# 367 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31579__attribute__((unused)) static inline void __stcg(ushort4 *ptr, ushort4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31580#if 0
31581# 367
31582{ }
31583#endif
31584# 368 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31585__attribute__((unused)) static inline void __stcg(uint2 *ptr, uint2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31586#if 0
31587# 368
31588{ }
31589#endif
31590# 369 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31591__attribute__((unused)) static inline void __stcg(uint4 *ptr, uint4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31592#if 0
31593# 369
31594{ }
31595#endif
31596# 370 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31597__attribute__((unused)) static inline void __stcg(ulonglong2 *ptr, ulonglong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31598#if 0
31599# 370
31600{ }
31601#endif
31602# 372 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31603__attribute__((unused)) static inline void __stcg(float *ptr, float value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31604#if 0
31605# 372
31606{ }
31607#endif
31608# 373 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31609__attribute__((unused)) static inline void __stcg(double *ptr, double value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31610#if 0
31611# 373
31612{ }
31613#endif
31614# 374 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31615__attribute__((unused)) static inline void __stcg(float2 *ptr, float2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31616#if 0
31617# 374
31618{ }
31619#endif
31620# 375 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31621__attribute__((unused)) static inline void __stcg(float4 *ptr, float4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31622#if 0
31623# 375
31624{ }
31625#endif
31626# 376 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31627__attribute__((unused)) static inline void __stcg(double2 *ptr, double2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31628#if 0
31629# 376
31630{ }
31631#endif
31632# 380 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31633__attribute__((unused)) static inline void __stcs(long *ptr, long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31634#if 0
31635# 380
31636{ }
31637#endif
31638# 381 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31639__attribute__((unused)) static inline void __stcs(unsigned long *ptr, unsigned long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31640#if 0
31641# 381
31642{ }
31643#endif
31644# 383 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31645__attribute__((unused)) static inline void __stcs(char *ptr, char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31646#if 0
31647# 383
31648{ }
31649#endif
31650# 384 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31651__attribute__((unused)) static inline void __stcs(signed char *ptr, signed char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31652#if 0
31653# 384
31654{ }
31655#endif
31656# 385 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31657__attribute__((unused)) static inline void __stcs(short *ptr, short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31658#if 0
31659# 385
31660{ }
31661#endif
31662# 386 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31663__attribute__((unused)) static inline void __stcs(int *ptr, int value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31664#if 0
31665# 386
31666{ }
31667#endif
31668# 387 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31669__attribute__((unused)) static inline void __stcs(long long *ptr, long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31670#if 0
31671# 387
31672{ }
31673#endif
31674# 388 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31675__attribute__((unused)) static inline void __stcs(char2 *ptr, char2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31676#if 0
31677# 388
31678{ }
31679#endif
31680# 389 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31681__attribute__((unused)) static inline void __stcs(char4 *ptr, char4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31682#if 0
31683# 389
31684{ }
31685#endif
31686# 390 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31687__attribute__((unused)) static inline void __stcs(short2 *ptr, short2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31688#if 0
31689# 390
31690{ }
31691#endif
31692# 391 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31693__attribute__((unused)) static inline void __stcs(short4 *ptr, short4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31694#if 0
31695# 391
31696{ }
31697#endif
31698# 392 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31699__attribute__((unused)) static inline void __stcs(int2 *ptr, int2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31700#if 0
31701# 392
31702{ }
31703#endif
31704# 393 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31705__attribute__((unused)) static inline void __stcs(int4 *ptr, int4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31706#if 0
31707# 393
31708{ }
31709#endif
31710# 394 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31711__attribute__((unused)) static inline void __stcs(longlong2 *ptr, longlong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31712#if 0
31713# 394
31714{ }
31715#endif
31716# 396 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31717__attribute__((unused)) static inline void __stcs(unsigned char *ptr, unsigned char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31718#if 0
31719# 396
31720{ }
31721#endif
31722# 397 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31723__attribute__((unused)) static inline void __stcs(unsigned short *ptr, unsigned short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31724#if 0
31725# 397
31726{ }
31727#endif
31728# 398 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31729__attribute__((unused)) static inline void __stcs(unsigned *ptr, unsigned value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31730#if 0
31731# 398
31732{ }
31733#endif
31734# 399 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31735__attribute__((unused)) static inline void __stcs(unsigned long long *ptr, unsigned long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31736#if 0
31737# 399
31738{ }
31739#endif
31740# 400 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31741__attribute__((unused)) static inline void __stcs(uchar2 *ptr, uchar2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31742#if 0
31743# 400
31744{ }
31745#endif
31746# 401 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31747__attribute__((unused)) static inline void __stcs(uchar4 *ptr, uchar4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31748#if 0
31749# 401
31750{ }
31751#endif
31752# 402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31753__attribute__((unused)) static inline void __stcs(ushort2 *ptr, ushort2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31754#if 0
31755# 402
31756{ }
31757#endif
31758# 403 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31759__attribute__((unused)) static inline void __stcs(ushort4 *ptr, ushort4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31760#if 0
31761# 403
31762{ }
31763#endif
31764# 404 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31765__attribute__((unused)) static inline void __stcs(uint2 *ptr, uint2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31766#if 0
31767# 404
31768{ }
31769#endif
31770# 405 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31771__attribute__((unused)) static inline void __stcs(uint4 *ptr, uint4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31772#if 0
31773# 405
31774{ }
31775#endif
31776# 406 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31777__attribute__((unused)) static inline void __stcs(ulonglong2 *ptr, ulonglong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31778#if 0
31779# 406
31780{ }
31781#endif
31782# 408 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31783__attribute__((unused)) static inline void __stcs(float *ptr, float value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31784#if 0
31785# 408
31786{ }
31787#endif
31788# 409 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31789__attribute__((unused)) static inline void __stcs(double *ptr, double value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31790#if 0
31791# 409
31792{ }
31793#endif
31794# 410 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31795__attribute__((unused)) static inline void __stcs(float2 *ptr, float2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31796#if 0
31797# 410
31798{ }
31799#endif
31800# 411 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31801__attribute__((unused)) static inline void __stcs(float4 *ptr, float4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31802#if 0
31803# 411
31804{ }
31805#endif
31806# 412 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31807__attribute__((unused)) static inline void __stcs(double2 *ptr, double2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31808#if 0
31809# 412
31810{ }
31811#endif
31812# 416 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31813__attribute__((unused)) static inline void __stwt(long *ptr, long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31814#if 0
31815# 416
31816{ }
31817#endif
31818# 417 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31819__attribute__((unused)) static inline void __stwt(unsigned long *ptr, unsigned long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31820#if 0
31821# 417
31822{ }
31823#endif
31824# 419 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31825__attribute__((unused)) static inline void __stwt(char *ptr, char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31826#if 0
31827# 419
31828{ }
31829#endif
31830# 420 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31831__attribute__((unused)) static inline void __stwt(signed char *ptr, signed char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31832#if 0
31833# 420
31834{ }
31835#endif
31836# 421 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31837__attribute__((unused)) static inline void __stwt(short *ptr, short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31838#if 0
31839# 421
31840{ }
31841#endif
31842# 422 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31843__attribute__((unused)) static inline void __stwt(int *ptr, int value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31844#if 0
31845# 422
31846{ }
31847#endif
31848# 423 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31849__attribute__((unused)) static inline void __stwt(long long *ptr, long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31850#if 0
31851# 423
31852{ }
31853#endif
31854# 424 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31855__attribute__((unused)) static inline void __stwt(char2 *ptr, char2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31856#if 0
31857# 424
31858{ }
31859#endif
31860# 425 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31861__attribute__((unused)) static inline void __stwt(char4 *ptr, char4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31862#if 0
31863# 425
31864{ }
31865#endif
31866# 426 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31867__attribute__((unused)) static inline void __stwt(short2 *ptr, short2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31868#if 0
31869# 426
31870{ }
31871#endif
31872# 427 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31873__attribute__((unused)) static inline void __stwt(short4 *ptr, short4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31874#if 0
31875# 427
31876{ }
31877#endif
31878# 428 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31879__attribute__((unused)) static inline void __stwt(int2 *ptr, int2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31880#if 0
31881# 428
31882{ }
31883#endif
31884# 429 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31885__attribute__((unused)) static inline void __stwt(int4 *ptr, int4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31886#if 0
31887# 429
31888{ }
31889#endif
31890# 430 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31891__attribute__((unused)) static inline void __stwt(longlong2 *ptr, longlong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31892#if 0
31893# 430
31894{ }
31895#endif
31896# 432 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31897__attribute__((unused)) static inline void __stwt(unsigned char *ptr, unsigned char value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31898#if 0
31899# 432
31900{ }
31901#endif
31902# 433 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31903__attribute__((unused)) static inline void __stwt(unsigned short *ptr, unsigned short value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31904#if 0
31905# 433
31906{ }
31907#endif
31908# 434 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31909__attribute__((unused)) static inline void __stwt(unsigned *ptr, unsigned value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31910#if 0
31911# 434
31912{ }
31913#endif
31914# 435 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31915__attribute__((unused)) static inline void __stwt(unsigned long long *ptr, unsigned long long value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31916#if 0
31917# 435
31918{ }
31919#endif
31920# 436 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31921__attribute__((unused)) static inline void __stwt(uchar2 *ptr, uchar2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31922#if 0
31923# 436
31924{ }
31925#endif
31926# 437 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31927__attribute__((unused)) static inline void __stwt(uchar4 *ptr, uchar4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31928#if 0
31929# 437
31930{ }
31931#endif
31932# 438 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31933__attribute__((unused)) static inline void __stwt(ushort2 *ptr, ushort2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31934#if 0
31935# 438
31936{ }
31937#endif
31938# 439 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31939__attribute__((unused)) static inline void __stwt(ushort4 *ptr, ushort4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31940#if 0
31941# 439
31942{ }
31943#endif
31944# 440 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31945__attribute__((unused)) static inline void __stwt(uint2 *ptr, uint2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31946#if 0
31947# 440
31948{ }
31949#endif
31950# 441 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31951__attribute__((unused)) static inline void __stwt(uint4 *ptr, uint4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31952#if 0
31953# 441
31954{ }
31955#endif
31956# 442 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31957__attribute__((unused)) static inline void __stwt(ulonglong2 *ptr, ulonglong2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31958#if 0
31959# 442
31960{ }
31961#endif
31962# 444 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31963__attribute__((unused)) static inline void __stwt(float *ptr, float value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31964#if 0
31965# 444
31966{ }
31967#endif
31968# 445 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31969__attribute__((unused)) static inline void __stwt(double *ptr, double value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31970#if 0
31971# 445
31972{ }
31973#endif
31974# 446 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31975__attribute__((unused)) static inline void __stwt(float2 *ptr, float2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31976#if 0
31977# 446
31978{ }
31979#endif
31980# 447 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31981__attribute__((unused)) static inline void __stwt(float4 *ptr, float4 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31982#if 0
31983# 447
31984{ }
31985#endif
31986# 448 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31987__attribute__((unused)) static inline void __stwt(double2 *ptr, double2 value) {int volatile ___ = 1;(void)ptr;(void)value;::exit(___);}
31988#if 0
31989# 448
31990{ }
31991#endif
31992# 465 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31993__attribute__((unused)) static inline unsigned __funnelshift_l(unsigned lo, unsigned hi, unsigned shift) {int volatile ___ = 1;(void)lo;(void)hi;(void)shift;::exit(___);}
31994#if 0
31995# 465
31996{ }
31997#endif
31998# 477 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
31999__attribute__((unused)) static inline unsigned __funnelshift_lc(unsigned lo, unsigned hi, unsigned shift) {int volatile ___ = 1;(void)lo;(void)hi;(void)shift;::exit(___);}
32000#if 0
32001# 477
32002{ }
32003#endif
32004# 490 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
32005__attribute__((unused)) static inline unsigned __funnelshift_r(unsigned lo, unsigned hi, unsigned shift) {int volatile ___ = 1;(void)lo;(void)hi;(void)shift;::exit(___);}
32006#if 0
32007# 490
32008{ }
32009#endif
32010# 502 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_32_intrinsics.h"
32011__attribute__((unused)) static inline unsigned __funnelshift_rc(unsigned lo, unsigned hi, unsigned shift) {int volatile ___ = 1;(void)lo;(void)hi;(void)shift;::exit(___);}
32012#if 0
32013# 502
32014{ }
32015#endif
32016# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32017__attribute__((unused)) static inline int __dp2a_lo(int srcA, int srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32018#if 0
32019# 102
32020{ }
32021#endif
32022# 113 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32023__attribute__((unused)) static inline unsigned __dp2a_lo(unsigned srcA, unsigned srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32024#if 0
32025# 113
32026{ }
32027#endif
32028# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32029__attribute__((unused)) static inline int __dp2a_lo(short2 srcA, char4 srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32030#if 0
32031# 125
32032{ }
32033#endif
32034# 136 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32035__attribute__((unused)) static inline unsigned __dp2a_lo(ushort2 srcA, uchar4 srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32036#if 0
32037# 136
32038{ }
32039#endif
32040# 148 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32041__attribute__((unused)) static inline int __dp2a_hi(int srcA, int srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32042#if 0
32043# 148
32044{ }
32045#endif
32046# 159 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32047__attribute__((unused)) static inline unsigned __dp2a_hi(unsigned srcA, unsigned srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32048#if 0
32049# 159
32050{ }
32051#endif
32052# 171 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32053__attribute__((unused)) static inline int __dp2a_hi(short2 srcA, char4 srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32054#if 0
32055# 171
32056{ }
32057#endif
32058# 182 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32059__attribute__((unused)) static inline unsigned __dp2a_hi(ushort2 srcA, uchar4 srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32060#if 0
32061# 182
32062{ }
32063#endif
32064# 197 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32065__attribute__((unused)) static inline int __dp4a(int srcA, int srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32066#if 0
32067# 197
32068{ }
32069#endif
32070# 206 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32071__attribute__((unused)) static inline unsigned __dp4a(unsigned srcA, unsigned srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32072#if 0
32073# 206
32074{ }
32075#endif
32076# 216 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32077__attribute__((unused)) static inline int __dp4a(char4 srcA, char4 srcB, int c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32078#if 0
32079# 216
32080{ }
32081#endif
32082# 225 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_61_intrinsics.h"
32083__attribute__((unused)) static inline unsigned __dp4a(uchar4 srcA, uchar4 srcB, unsigned c) {int volatile ___ = 1;(void)srcA;(void)srcB;(void)c;::exit(___);}
32084#if 0
32085# 225
32086{ }
32087#endif
32088# 98 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32089__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32090#if 0
32091# 98
32092{ }
32093#endif
32094# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32095__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, int value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32096#if 0
32097# 99
32098{ }
32099#endif
32100# 100 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32101__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, unsigned long value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32102#if 0
32103# 100
32104{ }
32105#endif
32106# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32107__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, long value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32108#if 0
32109# 101
32110{ }
32111#endif
32112# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32113__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, unsigned long long value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32114#if 0
32115# 102
32116{ }
32117#endif
32118# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32119__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, long long value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32120#if 0
32121# 103
32122{ }
32123#endif
32124# 104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32125__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, float value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32126#if 0
32127# 104
32128{ }
32129#endif
32130# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32131__attribute__((unused)) static inline unsigned __match_any_sync(unsigned mask, double value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32132#if 0
32133# 105
32134{ }
32135#endif
32136# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32137__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, unsigned value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32138#if 0
32139# 107
32140{ }
32141#endif
32142# 108 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32143__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, int value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32144#if 0
32145# 108
32146{ }
32147#endif
32148# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32149__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, unsigned long value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32150#if 0
32151# 109
32152{ }
32153#endif
32154# 110 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32155__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, long value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32156#if 0
32157# 110
32158{ }
32159#endif
32160# 111 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32161__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, unsigned long long value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32162#if 0
32163# 111
32164{ }
32165#endif
32166# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32167__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, long long value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32168#if 0
32169# 112
32170{ }
32171#endif
32172# 113 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32173__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, float value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32174#if 0
32175# 113
32176{ }
32177#endif
32178# 114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32179__attribute__((unused)) static inline unsigned __match_all_sync(unsigned mask, double value, int *pred) {int volatile ___ = 1;(void)mask;(void)value;(void)pred;::exit(___);}
32180#if 0
32181# 114
32182{ }
32183#endif
32184# 116 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32185__attribute__((unused)) static inline void __nanosleep(unsigned ns) {int volatile ___ = 1;(void)ns;::exit(___);}
32186#if 0
32187# 116
32188{ }
32189#endif
32190# 118 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.h"
32191__attribute__((unused)) static inline unsigned short atomicCAS(unsigned short *address, unsigned short compare, unsigned short val) {int volatile ___ = 1;(void)address;(void)compare;(void)val;::exit(___);}
32192#if 0
32193# 118
32194{ }
32195#endif
32196# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32197__attribute__((unused)) static inline unsigned __reduce_add_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32198#if 0
32199# 97
32200{ }
32201#endif
32202# 98 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32203__attribute__((unused)) static inline unsigned __reduce_min_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32204#if 0
32205# 98
32206{ }
32207#endif
32208# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32209__attribute__((unused)) static inline unsigned __reduce_max_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32210#if 0
32211# 99
32212{ }
32213#endif
32214# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32215__attribute__((unused)) static inline int __reduce_add_sync(unsigned mask, int value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32216#if 0
32217# 101
32218{ }
32219#endif
32220# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32221__attribute__((unused)) static inline int __reduce_min_sync(unsigned mask, int value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32222#if 0
32223# 102
32224{ }
32225#endif
32226# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32227__attribute__((unused)) static inline int __reduce_max_sync(unsigned mask, int value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32228#if 0
32229# 103
32230{ }
32231#endif
32232# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32233__attribute__((unused)) static inline unsigned __reduce_and_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32234#if 0
32235# 105
32236{ }
32237#endif
32238# 106 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32239__attribute__((unused)) static inline unsigned __reduce_or_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32240#if 0
32241# 106
32242{ }
32243#endif
32244# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32245__attribute__((unused)) static inline unsigned __reduce_xor_sync(unsigned mask, unsigned value) {int volatile ___ = 1;(void)mask;(void)value;::exit(___);}
32246#if 0
32247# 107
32248{ }
32249#endif
32250# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32251extern "C" {
32252# 113
32253__attribute__((unused)) inline void *__nv_associate_access_property(const void *ptr, unsigned long long
32254# 114
32255property) {int volatile ___ = 1;(void)ptr;(void)property;
32256# 118
32257::exit(___);}
32258#if 0
32259# 114
32260{
32261# 115
32262__attribute__((unused)) extern void *__nv_associate_access_property_impl(const void *, unsigned long long);
32263# 117
32264return __nv_associate_access_property_impl(ptr, property);
32265# 118
32266}
32267#endif
32268# 120 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32269__attribute__((unused)) inline void __nv_memcpy_async_shared_global_4(void *dst, const void *
32270# 121
32271src, unsigned
32272# 122
32273src_size) {int volatile ___ = 1;(void)dst;(void)src;(void)src_size;
32274# 127
32275::exit(___);}
32276#if 0
32277# 122
32278{
32279# 123
32280__attribute__((unused)) extern void __nv_memcpy_async_shared_global_4_impl(void *, const void *, unsigned);
32281# 126
32282__nv_memcpy_async_shared_global_4_impl(dst, src, src_size);
32283# 127
32284}
32285#endif
32286# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32287__attribute__((unused)) inline void __nv_memcpy_async_shared_global_8(void *dst, const void *
32288# 130
32289src, unsigned
32290# 131
32291src_size) {int volatile ___ = 1;(void)dst;(void)src;(void)src_size;
32292# 136
32293::exit(___);}
32294#if 0
32295# 131
32296{
32297# 132
32298__attribute__((unused)) extern void __nv_memcpy_async_shared_global_8_impl(void *, const void *, unsigned);
32299# 135
32300__nv_memcpy_async_shared_global_8_impl(dst, src, src_size);
32301# 136
32302}
32303#endif
32304# 138 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32305__attribute__((unused)) inline void __nv_memcpy_async_shared_global_16(void *dst, const void *
32306# 139
32307src, unsigned
32308# 140
32309src_size) {int volatile ___ = 1;(void)dst;(void)src;(void)src_size;
32310# 145
32311::exit(___);}
32312#if 0
32313# 140
32314{
32315# 141
32316__attribute__((unused)) extern void __nv_memcpy_async_shared_global_16_impl(void *, const void *, unsigned);
32317# 144
32318__nv_memcpy_async_shared_global_16_impl(dst, src, src_size);
32319# 145
32320}
32321#endif
32322# 147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_80_rt.h"
32323}
32324# 92 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32325__attribute__((unused)) static inline unsigned __isCtaShared(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
32326#if 0
32327# 92
32328{ }
32329#endif
32330# 93 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32331__attribute__((unused)) static inline unsigned __isClusterShared(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
32332#if 0
32333# 93
32334{ }
32335#endif
32336# 94 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32337__attribute__((unused)) static inline void *__cluster_map_shared_rank(const void *ptr, unsigned target_block_rank) {int volatile ___ = 1;(void)ptr;(void)target_block_rank;::exit(___);}
32338#if 0
32339# 94
32340{ }
32341#endif
32342# 95 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32343__attribute__((unused)) static inline unsigned __cluster_query_shared_rank(const void *ptr) {int volatile ___ = 1;(void)ptr;::exit(___);}
32344#if 0
32345# 95
32346{ }
32347#endif
32348# 96 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32349__attribute__((unused)) static inline uint2 __cluster_map_shared_multicast(const void *ptr, unsigned cluster_cta_mask) {int volatile ___ = 1;(void)ptr;(void)cluster_cta_mask;::exit(___);}
32350#if 0
32351# 96
32352{ }
32353#endif
32354# 97 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32355__attribute__((unused)) static inline unsigned __clusterDimIsSpecified() {int volatile ___ = 1;::exit(___);}
32356#if 0
32357# 97
32358{ }
32359#endif
32360# 98 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32361__attribute__((unused)) static inline dim3 __clusterDim() {int volatile ___ = 1;::exit(___);}
32362#if 0
32363# 98
32364{ }
32365#endif
32366# 99 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32367__attribute__((unused)) static inline dim3 __clusterRelativeBlockIdx() {int volatile ___ = 1;::exit(___);}
32368#if 0
32369# 99
32370{ }
32371#endif
32372# 100 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32373__attribute__((unused)) static inline dim3 __clusterGridDimInClusters() {int volatile ___ = 1;::exit(___);}
32374#if 0
32375# 100
32376{ }
32377#endif
32378# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32379__attribute__((unused)) static inline dim3 __clusterIdx() {int volatile ___ = 1;::exit(___);}
32380#if 0
32381# 101
32382{ }
32383#endif
32384# 102 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32385__attribute__((unused)) static inline unsigned __clusterRelativeBlockRank() {int volatile ___ = 1;::exit(___);}
32386#if 0
32387# 102
32388{ }
32389#endif
32390# 103 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32391__attribute__((unused)) static inline unsigned __clusterSizeInBlocks() {int volatile ___ = 1;::exit(___);}
32392#if 0
32393# 103
32394{ }
32395#endif
32396# 104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32397__attribute__((unused)) static inline void __cluster_barrier_arrive() {int volatile ___ = 1;::exit(___);}
32398#if 0
32399# 104
32400{ }
32401#endif
32402# 105 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32403__attribute__((unused)) static inline void __cluster_barrier_arrive_relaxed() {int volatile ___ = 1;::exit(___);}
32404#if 0
32405# 105
32406{ }
32407#endif
32408# 106 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32409__attribute__((unused)) static inline void __cluster_barrier_wait() {int volatile ___ = 1;::exit(___);}
32410#if 0
32411# 106
32412{ }
32413#endif
32414# 107 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32415__attribute__((unused)) static inline void __threadfence_cluster() {int volatile ___ = 1;::exit(___);}
32416#if 0
32417# 107
32418{ }
32419#endif
32420# 109 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32421__attribute__((unused)) static inline float2 atomicAdd(float2 *__address, float2 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32422#if 0
32423# 109
32424{ }
32425#endif
32426# 110 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32427__attribute__((unused)) static inline float2 atomicAdd_block(float2 *__address, float2 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32428#if 0
32429# 110
32430{ }
32431#endif
32432# 111 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32433__attribute__((unused)) static inline float2 atomicAdd_system(float2 *__address, float2 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32434#if 0
32435# 111
32436{ }
32437#endif
32438# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32439__attribute__((unused)) static inline float4 atomicAdd(float4 *__address, float4 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32440#if 0
32441# 112
32442{ }
32443#endif
32444# 113 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32445__attribute__((unused)) static inline float4 atomicAdd_block(float4 *__address, float4 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32446#if 0
32447# 113
32448{ }
32449#endif
32450# 114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32451__attribute__((unused)) static inline float4 atomicAdd_system(float4 *__address, float4 val) {int volatile ___ = 1;(void)__address;(void)val;::exit(___);}
32452#if 0
32453# 114
32454{ }
32455#endif
32456# 125 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32457extern "C" {
32458# 132
32459}
32460# 139
32461template< bool __b, class _T>
32462# 140
32463struct __nv_atomic_enable_if { };
32464# 142
32465template< class _T>
32466# 143
32467struct __nv_atomic_enable_if< true, _T> { typedef _T __type; };
32468# 153 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32469template< class _T>
32470# 154
32471struct __nv_atomic_triv_cp_helper {
32472# 161
32473static const bool __val = __is_trivially_copyable(_T);
32474# 166
32475};
32476# 201 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32477template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32478# 203
32479atomicCAS(_T *__address, _T __compare, _T __val) {int volatile ___ = 1;(void)__address;(void)__compare;(void)__val;
32480# 210
32481::exit(___);}
32482#if 0
32483# 203
32484{
32485# 204
32486union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32487#if 0
32488# 204
32489{ }
32490#endif
32491# 204 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32492}; _U __u;
32493# 205
32494__u128AtomicCAS((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__compare)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32495# 209
32496return __u.__ret;
32497# 210
32498}
32499#endif
32500# 212 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32501template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32502# 214
32503atomicCAS_block(_T *__address, _T __compare, _T __val) {int volatile ___ = 1;(void)__address;(void)__compare;(void)__val;
32504# 221
32505::exit(___);}
32506#if 0
32507# 214
32508{
32509# 215
32510union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32511#if 0
32512# 215
32513{ }
32514#endif
32515# 215 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32516}; _U __u;
32517# 216
32518__u128AtomicCAS_block((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__compare)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32519# 220
32520return __u.__ret;
32521# 221
32522}
32523#endif
32524# 223 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32525template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32526# 225
32527atomicCAS_system(_T *__address, _T __compare, _T __val) {int volatile ___ = 1;(void)__address;(void)__compare;(void)__val;
32528# 232
32529::exit(___);}
32530#if 0
32531# 225
32532{
32533# 226
32534union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32535#if 0
32536# 226
32537{ }
32538#endif
32539# 226 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32540}; _U __u;
32541# 227
32542__u128AtomicCAS_system((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__compare)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32543# 231
32544return __u.__ret;
32545# 232
32546}
32547#endif
32548# 234 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32549template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32550# 236
32551atomicExch(_T *__address, _T __val) {int volatile ___ = 1;(void)__address;(void)__val;
32552# 242
32553::exit(___);}
32554#if 0
32555# 236
32556{
32557# 237
32558union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32559#if 0
32560# 237
32561{ }
32562#endif
32563# 237 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32564}; _U __u;
32565# 238
32566__u128AtomicExch((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32567# 241
32568return __u.__ret;
32569# 242
32570}
32571#endif
32572# 244 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32573template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32574# 246
32575atomicExch_block(_T *__address, _T __val) {int volatile ___ = 1;(void)__address;(void)__val;
32576# 252
32577::exit(___);}
32578#if 0
32579# 246
32580{
32581# 247
32582union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32583#if 0
32584# 247
32585{ }
32586#endif
32587# 247 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32588}; _U __u;
32589# 248
32590__u128AtomicExch_block((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32591# 251
32592return __u.__ret;
32593# 252
32594}
32595#endif
32596# 254 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32597template< class _T> __attribute__((unused)) static inline typename __nv_atomic_enable_if< (sizeof(_T) == (16)) && (__alignof__(_T) >= (16)) && __nv_atomic_triv_cp_helper< _T> ::__val, _T> ::__type
32598# 256
32599atomicExch_system(_T *__address, _T __val) {int volatile ___ = 1;(void)__address;(void)__val;
32600# 262
32601::exit(___);}
32602#if 0
32603# 256
32604{
32605# 257
32606union _U { _T __ret; _U() {int *volatile ___ = 0;::free(___);}
32607#if 0
32608# 257
32609{ }
32610#endif
32611# 257 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_90_rt.h"
32612}; _U __u;
32613# 258
32614__u128AtomicExch_system((void *)__address, (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__val)))), (void *)(&(const_cast< char &>(reinterpret_cast< const volatile char &>(__u.__ret)))));
32615# 261
32616return __u.__ret;
32617# 262
32618}
32619#endif
32620# 100 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32621__attribute__((unused)) static inline float2 __ffma2_rn(float2 x, float2 y, float2 z) {int volatile ___ = 1;(void)x;(void)y;(void)z;::exit(___);}
32622#if 0
32623# 100
32624{ }
32625#endif
32626# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32627__attribute__((unused)) static inline float2 __ffma2_rz(float2 x, float2 y, float2 z) {int volatile ___ = 1;(void)x;(void)y;(void)z;::exit(___);}
32628#if 0
32629# 112
32630{ }
32631#endif
32632# 124 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32633__attribute__((unused)) static inline float2 __ffma2_rd(float2 x, float2 y, float2 z) {int volatile ___ = 1;(void)x;(void)y;(void)z;::exit(___);}
32634#if 0
32635# 124
32636{ }
32637#endif
32638# 136 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32639__attribute__((unused)) static inline float2 __ffma2_ru(float2 x, float2 y, float2 z) {int volatile ___ = 1;(void)x;(void)y;(void)z;::exit(___);}
32640#if 0
32641# 136
32642{ }
32643#endif
32644# 149 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32645__attribute__((unused)) static inline float2 __fadd2_rn(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32646#if 0
32647# 149
32648{ }
32649#endif
32650# 161 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32651__attribute__((unused)) static inline float2 __fadd2_rz(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32652#if 0
32653# 161
32654{ }
32655#endif
32656# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32657__attribute__((unused)) static inline float2 __fadd2_rd(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32658#if 0
32659# 173
32660{ }
32661#endif
32662# 185 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32663__attribute__((unused)) static inline float2 __fadd2_ru(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32664#if 0
32665# 185
32666{ }
32667#endif
32668# 198 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32669__attribute__((unused)) static inline float2 __fmul2_rn(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32670#if 0
32671# 198
32672{ }
32673#endif
32674# 210 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32675__attribute__((unused)) static inline float2 __fmul2_rz(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32676#if 0
32677# 210
32678{ }
32679#endif
32680# 222 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32681__attribute__((unused)) static inline float2 __fmul2_rd(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32682#if 0
32683# 222
32684{ }
32685#endif
32686# 234 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_100_rt.h"
32687__attribute__((unused)) static inline float2 __fmul2_ru(float2 x, float2 y) {int volatile ___ = 1;(void)x;(void)y;::exit(___);}
32688#if 0
32689# 234
32690{ }
32691#endif
32692# 65 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32693template< class T> struct __nv_itex_trait { };
32694# 66
32695template<> struct __nv_itex_trait< char> { typedef void type; };
32696# 67
32697template<> struct __nv_itex_trait< signed char> { typedef void type; };
32698# 68
32699template<> struct __nv_itex_trait< char1> { typedef void type; };
32700# 69
32701template<> struct __nv_itex_trait< char2> { typedef void type; };
32702# 70
32703template<> struct __nv_itex_trait< char4> { typedef void type; };
32704# 71
32705template<> struct __nv_itex_trait< unsigned char> { typedef void type; };
32706# 72
32707template<> struct __nv_itex_trait< uchar1> { typedef void type; };
32708# 73
32709template<> struct __nv_itex_trait< uchar2> { typedef void type; };
32710# 74
32711template<> struct __nv_itex_trait< uchar4> { typedef void type; };
32712# 75
32713template<> struct __nv_itex_trait< short> { typedef void type; };
32714# 76
32715template<> struct __nv_itex_trait< short1> { typedef void type; };
32716# 77
32717template<> struct __nv_itex_trait< short2> { typedef void type; };
32718# 78
32719template<> struct __nv_itex_trait< short4> { typedef void type; };
32720# 79
32721template<> struct __nv_itex_trait< unsigned short> { typedef void type; };
32722# 80
32723template<> struct __nv_itex_trait< ushort1> { typedef void type; };
32724# 81
32725template<> struct __nv_itex_trait< ushort2> { typedef void type; };
32726# 82
32727template<> struct __nv_itex_trait< ushort4> { typedef void type; };
32728# 83
32729template<> struct __nv_itex_trait< int> { typedef void type; };
32730# 84
32731template<> struct __nv_itex_trait< int1> { typedef void type; };
32732# 85
32733template<> struct __nv_itex_trait< int2> { typedef void type; };
32734# 86
32735template<> struct __nv_itex_trait< int4> { typedef void type; };
32736# 87
32737template<> struct __nv_itex_trait< unsigned> { typedef void type; };
32738# 88
32739template<> struct __nv_itex_trait< uint1> { typedef void type; };
32740# 89
32741template<> struct __nv_itex_trait< uint2> { typedef void type; };
32742# 90
32743template<> struct __nv_itex_trait< uint4> { typedef void type; };
32744# 101 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32745template<> struct __nv_itex_trait< float> { typedef void type; };
32746# 102
32747template<> struct __nv_itex_trait< float1> { typedef void type; };
32748# 103
32749template<> struct __nv_itex_trait< float2> { typedef void type; };
32750# 104
32751template<> struct __nv_itex_trait< float4> { typedef void type; };
32752# 108
32753template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32754# 109
32755tex1Dfetch(T *ptr, cudaTextureObject_t obj, int x)
32756# 110
32757{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;
32758# 112
32759::exit(___);}
32760#if 0
32761# 110
32762{
32763# 111
32764__nv_tex_surf_handler("__itex1Dfetch", ptr, obj, x);
32765# 112
32766}
32767#endif
32768# 114 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32769template< class T> __attribute__((unused)) static T
32770# 115
32771tex1Dfetch(cudaTextureObject_t texObject, int x)
32772# 116
32773{int volatile ___ = 1;(void)texObject;(void)x;
32774# 120
32775::exit(___);}
32776#if 0
32777# 116
32778{
32779# 117
32780T ret;
32781# 118
32782tex1Dfetch(&ret, texObject, x);
32783# 119
32784return ret;
32785# 120
32786}
32787#endif
32788# 122 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32789template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32790# 123
32791tex1D(T *ptr, cudaTextureObject_t obj, float x)
32792# 124
32793{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;
32794# 126
32795::exit(___);}
32796#if 0
32797# 124
32798{
32799# 125
32800__nv_tex_surf_handler("__itex1D", ptr, obj, x);
32801# 126
32802}
32803#endif
32804# 129 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32805template< class T> __attribute__((unused)) static T
32806# 130
32807tex1D(cudaTextureObject_t texObject, float x)
32808# 131
32809{int volatile ___ = 1;(void)texObject;(void)x;
32810# 135
32811::exit(___);}
32812#if 0
32813# 131
32814{
32815# 132
32816T ret;
32817# 133
32818tex1D(&ret, texObject, x);
32819# 134
32820return ret;
32821# 135
32822}
32823#endif
32824# 138 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32825template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32826# 139
32827tex2D(T *ptr, cudaTextureObject_t obj, float x, float y)
32828# 140
32829{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;
32830# 142
32831::exit(___);}
32832#if 0
32833# 140
32834{
32835# 141
32836__nv_tex_surf_handler("__itex2D", ptr, obj, x, y);
32837# 142
32838}
32839#endif
32840# 144 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32841template< class T> __attribute__((unused)) static T
32842# 145
32843tex2D(cudaTextureObject_t texObject, float x, float y)
32844# 146
32845{int volatile ___ = 1;(void)texObject;(void)x;(void)y;
32846# 150
32847::exit(___);}
32848#if 0
32849# 146
32850{
32851# 147
32852T ret;
32853# 148
32854tex2D(&ret, texObject, x, y);
32855# 149
32856return ret;
32857# 150
32858}
32859#endif
32860# 153 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32861template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32862# 154
32863tex2D(T *ptr, cudaTextureObject_t obj, float x, float y, bool *
32864# 155
32865isResident)
32866# 156
32867{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)isResident;
32868# 160
32869::exit(___);}
32870#if 0
32871# 156
32872{
32873# 157
32874unsigned char res;
32875# 158
32876__nv_tex_surf_handler("__itex2D_sparse", ptr, obj, x, y, &res);
32877# 159
32878(*isResident) = (res != 0);
32879# 160
32880}
32881#endif
32882# 162 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32883template< class T> __attribute__((unused)) static T
32884# 163
32885tex2D(cudaTextureObject_t texObject, float x, float y, bool *isResident)
32886# 164
32887{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)isResident;
32888# 168
32889::exit(___);}
32890#if 0
32891# 164
32892{
32893# 165
32894T ret;
32895# 166
32896tex2D(&ret, texObject, x, y, isResident);
32897# 167
32898return ret;
32899# 168
32900}
32901#endif
32902# 173 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32903template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32904# 174
32905tex3D(T *ptr, cudaTextureObject_t obj, float x, float y, float z)
32906# 175
32907{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;
32908# 177
32909::exit(___);}
32910#if 0
32911# 175
32912{
32913# 176
32914__nv_tex_surf_handler("__itex3D", ptr, obj, x, y, z);
32915# 177
32916}
32917#endif
32918# 179 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32919template< class T> __attribute__((unused)) static T
32920# 180
32921tex3D(cudaTextureObject_t texObject, float x, float y, float z)
32922# 181
32923{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;
32924# 185
32925::exit(___);}
32926#if 0
32927# 181
32928{
32929# 182
32930T ret;
32931# 183
32932tex3D(&ret, texObject, x, y, z);
32933# 184
32934return ret;
32935# 185
32936}
32937#endif
32938# 188 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32939template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32940# 189
32941tex3D(T *ptr, cudaTextureObject_t obj, float x, float y, float z, bool *
32942# 190
32943isResident)
32944# 191
32945{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)isResident;
32946# 195
32947::exit(___);}
32948#if 0
32949# 191
32950{
32951# 192
32952unsigned char res;
32953# 193
32954__nv_tex_surf_handler("__itex3D_sparse", ptr, obj, x, y, z, &res);
32955# 194
32956(*isResident) = (res != 0);
32957# 195
32958}
32959#endif
32960# 197 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32961template< class T> __attribute__((unused)) static T
32962# 198
32963tex3D(cudaTextureObject_t texObject, float x, float y, float z, bool *isResident)
32964# 199
32965{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)isResident;
32966# 203
32967::exit(___);}
32968#if 0
32969# 199
32970{
32971# 200
32972T ret;
32973# 201
32974tex3D(&ret, texObject, x, y, z, isResident);
32975# 202
32976return ret;
32977# 203
32978}
32979#endif
32980# 207 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32981template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
32982# 208
32983tex1DLayered(T *ptr, cudaTextureObject_t obj, float x, int layer)
32984# 209
32985{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)layer;
32986# 211
32987::exit(___);}
32988#if 0
32989# 209
32990{
32991# 210
32992__nv_tex_surf_handler("__itex1DLayered", ptr, obj, x, layer);
32993# 211
32994}
32995#endif
32996# 213 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
32997template< class T> __attribute__((unused)) static T
32998# 214
32999tex1DLayered(cudaTextureObject_t texObject, float x, int layer)
33000# 215
33001{int volatile ___ = 1;(void)texObject;(void)x;(void)layer;
33002# 219
33003::exit(___);}
33004#if 0
33005# 215
33006{
33007# 216
33008T ret;
33009# 217
33010tex1DLayered(&ret, texObject, x, layer);
33011# 218
33012return ret;
33013# 219
33014}
33015#endif
33016# 221 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33017template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33018# 222
33019tex2DLayered(T *ptr, cudaTextureObject_t obj, float x, float y, int layer)
33020# 223
33021{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;
33022# 225
33023::exit(___);}
33024#if 0
33025# 223
33026{
33027# 224
33028__nv_tex_surf_handler("__itex2DLayered", ptr, obj, x, y, layer);
33029# 225
33030}
33031#endif
33032# 227 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33033template< class T> __attribute__((unused)) static T
33034# 228
33035tex2DLayered(cudaTextureObject_t texObject, float x, float y, int layer)
33036# 229
33037{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;
33038# 233
33039::exit(___);}
33040#if 0
33041# 229
33042{
33043# 230
33044T ret;
33045# 231
33046tex2DLayered(&ret, texObject, x, y, layer);
33047# 232
33048return ret;
33049# 233
33050}
33051#endif
33052# 236 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33053template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33054# 237
33055tex2DLayered(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, bool *isResident)
33056# 238
33057{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)isResident;
33058# 242
33059::exit(___);}
33060#if 0
33061# 238
33062{
33063# 239
33064unsigned char res;
33065# 240
33066__nv_tex_surf_handler("__itex2DLayered_sparse", ptr, obj, x, y, layer, &res);
33067# 241
33068(*isResident) = (res != 0);
33069# 242
33070}
33071#endif
33072# 244 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33073template< class T> __attribute__((unused)) static T
33074# 245
33075tex2DLayered(cudaTextureObject_t texObject, float x, float y, int layer, bool *isResident)
33076# 246
33077{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;(void)isResident;
33078# 250
33079::exit(___);}
33080#if 0
33081# 246
33082{
33083# 247
33084T ret;
33085# 248
33086tex2DLayered(&ret, texObject, x, y, layer, isResident);
33087# 249
33088return ret;
33089# 250
33090}
33091#endif
33092# 254 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33093template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33094# 255
33095texCubemap(T *ptr, cudaTextureObject_t obj, float x, float y, float z)
33096# 256
33097{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;
33098# 258
33099::exit(___);}
33100#if 0
33101# 256
33102{
33103# 257
33104__nv_tex_surf_handler("__itexCubemap", ptr, obj, x, y, z);
33105# 258
33106}
33107#endif
33108# 261 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33109template< class T> __attribute__((unused)) static T
33110# 262
33111texCubemap(cudaTextureObject_t texObject, float x, float y, float z)
33112# 263
33113{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;
33114# 267
33115::exit(___);}
33116#if 0
33117# 263
33118{
33119# 264
33120T ret;
33121# 265
33122texCubemap(&ret, texObject, x, y, z);
33123# 266
33124return ret;
33125# 267
33126}
33127#endif
33128# 270 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33129template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33130# 271
33131texCubemapLayered(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer)
33132# 272
33133{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)layer;
33134# 274
33135::exit(___);}
33136#if 0
33137# 272
33138{
33139# 273
33140__nv_tex_surf_handler("__itexCubemapLayered", ptr, obj, x, y, z, layer);
33141# 274
33142}
33143#endif
33144# 276 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33145template< class T> __attribute__((unused)) static T
33146# 277
33147texCubemapLayered(cudaTextureObject_t texObject, float x, float y, float z, int layer)
33148# 278
33149{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)layer;
33150# 282
33151::exit(___);}
33152#if 0
33153# 278
33154{
33155# 279
33156T ret;
33157# 280
33158texCubemapLayered(&ret, texObject, x, y, z, layer);
33159# 281
33160return ret;
33161# 282
33162}
33163#endif
33164# 284 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33165template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33166# 285
33167tex2Dgather(T *ptr, cudaTextureObject_t obj, float x, float y, int comp = 0)
33168# 286
33169{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)comp;
33170# 288
33171::exit(___);}
33172#if 0
33173# 286
33174{
33175# 287
33176__nv_tex_surf_handler("__itex2Dgather", ptr, obj, x, y, comp);
33177# 288
33178}
33179#endif
33180# 290 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33181template< class T> __attribute__((unused)) static T
33182# 291
33183tex2Dgather(cudaTextureObject_t to, float x, float y, int comp = 0)
33184# 292
33185{int volatile ___ = 1;(void)to;(void)x;(void)y;(void)comp;
33186# 296
33187::exit(___);}
33188#if 0
33189# 292
33190{
33191# 293
33192T ret;
33193# 294
33194tex2Dgather(&ret, to, x, y, comp);
33195# 295
33196return ret;
33197# 296
33198}
33199#endif
33200# 299 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33201template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33202# 300
33203tex2Dgather(T *ptr, cudaTextureObject_t obj, float x, float y, bool *isResident, int comp = 0)
33204# 301
33205{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)isResident;(void)comp;
33206# 305
33207::exit(___);}
33208#if 0
33209# 301
33210{
33211# 302
33212unsigned char res;
33213# 303
33214__nv_tex_surf_handler("__itex2Dgather_sparse", ptr, obj, x, y, comp, &res);
33215# 304
33216(*isResident) = (res != 0);
33217# 305
33218}
33219#endif
33220# 307 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33221template< class T> __attribute__((unused)) static T
33222# 308
33223tex2Dgather(cudaTextureObject_t to, float x, float y, bool *isResident, int comp = 0)
33224# 309
33225{int volatile ___ = 1;(void)to;(void)x;(void)y;(void)isResident;(void)comp;
33226# 313
33227::exit(___);}
33228#if 0
33229# 309
33230{
33231# 310
33232T ret;
33233# 311
33234tex2Dgather(&ret, to, x, y, isResident, comp);
33235# 312
33236return ret;
33237# 313
33238}
33239#endif
33240# 317 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33241template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33242# 318
33243tex1DLod(T *ptr, cudaTextureObject_t obj, float x, float level)
33244# 319
33245{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)level;
33246# 321
33247::exit(___);}
33248#if 0
33249# 319
33250{
33251# 320
33252__nv_tex_surf_handler("__itex1DLod", ptr, obj, x, level);
33253# 321
33254}
33255#endif
33256# 323 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33257template< class T> __attribute__((unused)) static T
33258# 324
33259tex1DLod(cudaTextureObject_t texObject, float x, float level)
33260# 325
33261{int volatile ___ = 1;(void)texObject;(void)x;(void)level;
33262# 329
33263::exit(___);}
33264#if 0
33265# 325
33266{
33267# 326
33268T ret;
33269# 327
33270tex1DLod(&ret, texObject, x, level);
33271# 328
33272return ret;
33273# 329
33274}
33275#endif
33276# 332 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33277template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33278# 333
33279tex2DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float level)
33280# 334
33281{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)level;
33282# 336
33283::exit(___);}
33284#if 0
33285# 334
33286{
33287# 335
33288__nv_tex_surf_handler("__itex2DLod", ptr, obj, x, y, level);
33289# 336
33290}
33291#endif
33292# 338 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33293template< class T> __attribute__((unused)) static T
33294# 339
33295tex2DLod(cudaTextureObject_t texObject, float x, float y, float level)
33296# 340
33297{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)level;
33298# 344
33299::exit(___);}
33300#if 0
33301# 340
33302{
33303# 341
33304T ret;
33305# 342
33306tex2DLod(&ret, texObject, x, y, level);
33307# 343
33308return ret;
33309# 344
33310}
33311#endif
33312# 348 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33313template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33314# 349
33315tex2DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float level, bool *isResident)
33316# 350
33317{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)level;(void)isResident;
33318# 354
33319::exit(___);}
33320#if 0
33321# 350
33322{
33323# 351
33324unsigned char res;
33325# 352
33326__nv_tex_surf_handler("__itex2DLod_sparse", ptr, obj, x, y, level, &res);
33327# 353
33328(*isResident) = (res != 0);
33329# 354
33330}
33331#endif
33332# 356 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33333template< class T> __attribute__((unused)) static T
33334# 357
33335tex2DLod(cudaTextureObject_t texObject, float x, float y, float level, bool *isResident)
33336# 358
33337{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)level;(void)isResident;
33338# 362
33339::exit(___);}
33340#if 0
33341# 358
33342{
33343# 359
33344T ret;
33345# 360
33346tex2DLod(&ret, texObject, x, y, level, isResident);
33347# 361
33348return ret;
33349# 362
33350}
33351#endif
33352# 367 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33353template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33354# 368
33355tex3DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float level)
33356# 369
33357{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)level;
33358# 371
33359::exit(___);}
33360#if 0
33361# 369
33362{
33363# 370
33364__nv_tex_surf_handler("__itex3DLod", ptr, obj, x, y, z, level);
33365# 371
33366}
33367#endif
33368# 373 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33369template< class T> __attribute__((unused)) static T
33370# 374
33371tex3DLod(cudaTextureObject_t texObject, float x, float y, float z, float level)
33372# 375
33373{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)level;
33374# 379
33375::exit(___);}
33376#if 0
33377# 375
33378{
33379# 376
33380T ret;
33381# 377
33382tex3DLod(&ret, texObject, x, y, z, level);
33383# 378
33384return ret;
33385# 379
33386}
33387#endif
33388# 382 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33389template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33390# 383
33391tex3DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float level, bool *isResident)
33392# 384
33393{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)level;(void)isResident;
33394# 388
33395::exit(___);}
33396#if 0
33397# 384
33398{
33399# 385
33400unsigned char res;
33401# 386
33402__nv_tex_surf_handler("__itex3DLod_sparse", ptr, obj, x, y, z, level, &res);
33403# 387
33404(*isResident) = (res != 0);
33405# 388
33406}
33407#endif
33408# 390 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33409template< class T> __attribute__((unused)) static T
33410# 391
33411tex3DLod(cudaTextureObject_t texObject, float x, float y, float z, float level, bool *isResident)
33412# 392
33413{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)level;(void)isResident;
33414# 396
33415::exit(___);}
33416#if 0
33417# 392
33418{
33419# 393
33420T ret;
33421# 394
33422tex3DLod(&ret, texObject, x, y, z, level, isResident);
33423# 395
33424return ret;
33425# 396
33426}
33427#endif
33428# 401 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33429template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33430# 402
33431tex1DLayeredLod(T *ptr, cudaTextureObject_t obj, float x, int layer, float level)
33432# 403
33433{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)layer;(void)level;
33434# 405
33435::exit(___);}
33436#if 0
33437# 403
33438{
33439# 404
33440__nv_tex_surf_handler("__itex1DLayeredLod", ptr, obj, x, layer, level);
33441# 405
33442}
33443#endif
33444# 407 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33445template< class T> __attribute__((unused)) static T
33446# 408
33447tex1DLayeredLod(cudaTextureObject_t texObject, float x, int layer, float level)
33448# 409
33449{int volatile ___ = 1;(void)texObject;(void)x;(void)layer;(void)level;
33450# 413
33451::exit(___);}
33452#if 0
33453# 409
33454{
33455# 410
33456T ret;
33457# 411
33458tex1DLayeredLod(&ret, texObject, x, layer, level);
33459# 412
33460return ret;
33461# 413
33462}
33463#endif
33464# 416 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33465template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33466# 417
33467tex2DLayeredLod(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, float level)
33468# 418
33469{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)level;
33470# 420
33471::exit(___);}
33472#if 0
33473# 418
33474{
33475# 419
33476__nv_tex_surf_handler("__itex2DLayeredLod", ptr, obj, x, y, layer, level);
33477# 420
33478}
33479#endif
33480# 422 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33481template< class T> __attribute__((unused)) static T
33482# 423
33483tex2DLayeredLod(cudaTextureObject_t texObject, float x, float y, int layer, float level)
33484# 424
33485{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;(void)level;
33486# 428
33487::exit(___);}
33488#if 0
33489# 424
33490{
33491# 425
33492T ret;
33493# 426
33494tex2DLayeredLod(&ret, texObject, x, y, layer, level);
33495# 427
33496return ret;
33497# 428
33498}
33499#endif
33500# 431 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33501template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33502# 432
33503tex2DLayeredLod(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, float level, bool *isResident)
33504# 433
33505{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)level;(void)isResident;
33506# 437
33507::exit(___);}
33508#if 0
33509# 433
33510{
33511# 434
33512unsigned char res;
33513# 435
33514__nv_tex_surf_handler("__itex2DLayeredLod_sparse", ptr, obj, x, y, layer, level, &res);
33515# 436
33516(*isResident) = (res != 0);
33517# 437
33518}
33519#endif
33520# 439 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33521template< class T> __attribute__((unused)) static T
33522# 440
33523tex2DLayeredLod(cudaTextureObject_t texObject, float x, float y, int layer, float level, bool *isResident)
33524# 441
33525{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;(void)level;(void)isResident;
33526# 445
33527::exit(___);}
33528#if 0
33529# 441
33530{
33531# 442
33532T ret;
33533# 443
33534tex2DLayeredLod(&ret, texObject, x, y, layer, level, isResident);
33535# 444
33536return ret;
33537# 445
33538}
33539#endif
33540# 448 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33541template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33542# 449
33543texCubemapLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float level)
33544# 450
33545{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)level;
33546# 452
33547::exit(___);}
33548#if 0
33549# 450
33550{
33551# 451
33552__nv_tex_surf_handler("__itexCubemapLod", ptr, obj, x, y, z, level);
33553# 452
33554}
33555#endif
33556# 454 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33557template< class T> __attribute__((unused)) static T
33558# 455
33559texCubemapLod(cudaTextureObject_t texObject, float x, float y, float z, float level)
33560# 456
33561{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)level;
33562# 460
33563::exit(___);}
33564#if 0
33565# 456
33566{
33567# 457
33568T ret;
33569# 458
33570texCubemapLod(&ret, texObject, x, y, z, level);
33571# 459
33572return ret;
33573# 460
33574}
33575#endif
33576# 463 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33577template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33578# 464
33579texCubemapGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float4 dPdx, float4 dPdy)
33580# 465
33581{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;
33582# 467
33583::exit(___);}
33584#if 0
33585# 465
33586{
33587# 466
33588__nv_tex_surf_handler("__itexCubemapGrad_v2", ptr, obj, x, y, z, &dPdx, &dPdy);
33589# 467
33590}
33591#endif
33592# 469 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33593template< class T> __attribute__((unused)) static T
33594# 470
33595texCubemapGrad(cudaTextureObject_t texObject, float x, float y, float z, float4 dPdx, float4 dPdy)
33596# 471
33597{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;
33598# 475
33599::exit(___);}
33600#if 0
33601# 471
33602{
33603# 472
33604T ret;
33605# 473
33606texCubemapGrad(&ret, texObject, x, y, z, dPdx, dPdy);
33607# 474
33608return ret;
33609# 475
33610}
33611#endif
33612# 477 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33613template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33614# 478
33615texCubemapLayeredLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer, float level)
33616# 479
33617{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)layer;(void)level;
33618# 481
33619::exit(___);}
33620#if 0
33621# 479
33622{
33623# 480
33624__nv_tex_surf_handler("__itexCubemapLayeredLod", ptr, obj, x, y, z, layer, level);
33625# 481
33626}
33627#endif
33628# 483 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33629template< class T> __attribute__((unused)) static T
33630# 484
33631texCubemapLayeredLod(cudaTextureObject_t texObject, float x, float y, float z, int layer, float level)
33632# 485
33633{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)layer;(void)level;
33634# 489
33635::exit(___);}
33636#if 0
33637# 485
33638{
33639# 486
33640T ret;
33641# 487
33642texCubemapLayeredLod(&ret, texObject, x, y, z, layer, level);
33643# 488
33644return ret;
33645# 489
33646}
33647#endif
33648# 491 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33649template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33650# 492
33651tex1DGrad(T *ptr, cudaTextureObject_t obj, float x, float dPdx, float dPdy)
33652# 493
33653{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)dPdx;(void)dPdy;
33654# 495
33655::exit(___);}
33656#if 0
33657# 493
33658{
33659# 494
33660__nv_tex_surf_handler("__itex1DGrad", ptr, obj, x, dPdx, dPdy);
33661# 495
33662}
33663#endif
33664# 497 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33665template< class T> __attribute__((unused)) static T
33666# 498
33667tex1DGrad(cudaTextureObject_t texObject, float x, float dPdx, float dPdy)
33668# 499
33669{int volatile ___ = 1;(void)texObject;(void)x;(void)dPdx;(void)dPdy;
33670# 503
33671::exit(___);}
33672#if 0
33673# 499
33674{
33675# 500
33676T ret;
33677# 501
33678tex1DGrad(&ret, texObject, x, dPdx, dPdy);
33679# 502
33680return ret;
33681# 503
33682}
33683#endif
33684# 506 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33685template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33686# 507
33687tex2DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float2 dPdx, float2 dPdy)
33688# 508
33689{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)dPdx;(void)dPdy;
33690# 510
33691::exit(___);}
33692#if 0
33693# 508
33694{
33695# 509
33696__nv_tex_surf_handler("__itex2DGrad_v2", ptr, obj, x, y, &dPdx, &dPdy);
33697# 510
33698}
33699#endif
33700# 512 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33701template< class T> __attribute__((unused)) static T
33702# 513
33703tex2DGrad(cudaTextureObject_t texObject, float x, float y, float2 dPdx, float2 dPdy)
33704# 514
33705{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)dPdx;(void)dPdy;
33706# 518
33707::exit(___);}
33708#if 0
33709# 514
33710{
33711# 515
33712T ret;
33713# 516
33714tex2DGrad(&ret, texObject, x, y, dPdx, dPdy);
33715# 517
33716return ret;
33717# 518
33718}
33719#endif
33720# 521 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33721template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33722# 522
33723tex2DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float2 dPdx, float2 dPdy, bool *isResident)
33724# 523
33725{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)dPdx;(void)dPdy;(void)isResident;
33726# 527
33727::exit(___);}
33728#if 0
33729# 523
33730{
33731# 524
33732unsigned char res;
33733# 525
33734__nv_tex_surf_handler("__itex2DGrad_sparse", ptr, obj, x, y, &dPdx, &dPdy, &res);
33735# 526
33736(*isResident) = (res != 0);
33737# 527
33738}
33739#endif
33740# 529 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33741template< class T> __attribute__((unused)) static T
33742# 530
33743tex2DGrad(cudaTextureObject_t texObject, float x, float y, float2 dPdx, float2 dPdy, bool *isResident)
33744# 531
33745{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)dPdx;(void)dPdy;(void)isResident;
33746# 535
33747::exit(___);}
33748#if 0
33749# 531
33750{
33751# 532
33752T ret;
33753# 533
33754tex2DGrad(&ret, texObject, x, y, dPdx, dPdy, isResident);
33755# 534
33756return ret;
33757# 535
33758}
33759#endif
33760# 539 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33761template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33762# 540
33763tex3DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float4 dPdx, float4 dPdy)
33764# 541
33765{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;
33766# 543
33767::exit(___);}
33768#if 0
33769# 541
33770{
33771# 542
33772__nv_tex_surf_handler("__itex3DGrad_v2", ptr, obj, x, y, z, &dPdx, &dPdy);
33773# 543
33774}
33775#endif
33776# 545 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33777template< class T> __attribute__((unused)) static T
33778# 546
33779tex3DGrad(cudaTextureObject_t texObject, float x, float y, float z, float4 dPdx, float4 dPdy)
33780# 547
33781{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;
33782# 551
33783::exit(___);}
33784#if 0
33785# 547
33786{
33787# 548
33788T ret;
33789# 549
33790tex3DGrad(&ret, texObject, x, y, z, dPdx, dPdy);
33791# 550
33792return ret;
33793# 551
33794}
33795#endif
33796# 554 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33797template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33798# 555
33799tex3DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float4 dPdx, float4 dPdy, bool *isResident)
33800# 556
33801{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;(void)isResident;
33802# 560
33803::exit(___);}
33804#if 0
33805# 556
33806{
33807# 557
33808unsigned char res;
33809# 558
33810__nv_tex_surf_handler("__itex3DGrad_sparse", ptr, obj, x, y, z, &dPdx, &dPdy, &res);
33811# 559
33812(*isResident) = (res != 0);
33813# 560
33814}
33815#endif
33816# 562 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33817template< class T> __attribute__((unused)) static T
33818# 563
33819tex3DGrad(cudaTextureObject_t texObject, float x, float y, float z, float4 dPdx, float4 dPdy, bool *isResident)
33820# 564
33821{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)dPdx;(void)dPdy;(void)isResident;
33822# 568
33823::exit(___);}
33824#if 0
33825# 564
33826{
33827# 565
33828T ret;
33829# 566
33830tex3DGrad(&ret, texObject, x, y, z, dPdx, dPdy, isResident);
33831# 567
33832return ret;
33833# 568
33834}
33835#endif
33836# 573 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33837template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33838# 574
33839tex1DLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, int layer, float dPdx, float dPdy)
33840# 575
33841{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)layer;(void)dPdx;(void)dPdy;
33842# 577
33843::exit(___);}
33844#if 0
33845# 575
33846{
33847# 576
33848__nv_tex_surf_handler("__itex1DLayeredGrad", ptr, obj, x, layer, dPdx, dPdy);
33849# 577
33850}
33851#endif
33852# 579 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33853template< class T> __attribute__((unused)) static T
33854# 580
33855tex1DLayeredGrad(cudaTextureObject_t texObject, float x, int layer, float dPdx, float dPdy)
33856# 581
33857{int volatile ___ = 1;(void)texObject;(void)x;(void)layer;(void)dPdx;(void)dPdy;
33858# 585
33859::exit(___);}
33860#if 0
33861# 581
33862{
33863# 582
33864T ret;
33865# 583
33866tex1DLayeredGrad(&ret, texObject, x, layer, dPdx, dPdy);
33867# 584
33868return ret;
33869# 585
33870}
33871#endif
33872# 588 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33873template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33874# 589
33875tex2DLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, float2 dPdx, float2 dPdy)
33876# 590
33877{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)dPdx;(void)dPdy;
33878# 592
33879::exit(___);}
33880#if 0
33881# 590
33882{
33883# 591
33884__nv_tex_surf_handler("__itex2DLayeredGrad_v2", ptr, obj, x, y, layer, &dPdx, &dPdy);
33885# 592
33886}
33887#endif
33888# 594 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33889template< class T> __attribute__((unused)) static T
33890# 595
33891tex2DLayeredGrad(cudaTextureObject_t texObject, float x, float y, int layer, float2 dPdx, float2 dPdy)
33892# 596
33893{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;(void)dPdx;(void)dPdy;
33894# 600
33895::exit(___);}
33896#if 0
33897# 596
33898{
33899# 597
33900T ret;
33901# 598
33902tex2DLayeredGrad(&ret, texObject, x, y, layer, dPdx, dPdy);
33903# 599
33904return ret;
33905# 600
33906}
33907#endif
33908# 603 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33909template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33910# 604
33911tex2DLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, float2 dPdx, float2 dPdy, bool *isResident)
33912# 605
33913{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)dPdx;(void)dPdy;(void)isResident;
33914# 609
33915::exit(___);}
33916#if 0
33917# 605
33918{
33919# 606
33920unsigned char res;
33921# 607
33922__nv_tex_surf_handler("__itex2DLayeredGrad_sparse", ptr, obj, x, y, layer, &dPdx, &dPdy, &res);
33923# 608
33924(*isResident) = (res != 0);
33925# 609
33926}
33927#endif
33928# 611 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33929template< class T> __attribute__((unused)) static T
33930# 612
33931tex2DLayeredGrad(cudaTextureObject_t texObject, float x, float y, int layer, float2 dPdx, float2 dPdy, bool *isResident)
33932# 613
33933{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)layer;(void)dPdx;(void)dPdy;(void)isResident;
33934# 617
33935::exit(___);}
33936#if 0
33937# 613
33938{
33939# 614
33940T ret;
33941# 615
33942tex2DLayeredGrad(&ret, texObject, x, y, layer, dPdx, dPdy, isResident);
33943# 616
33944return ret;
33945# 617
33946}
33947#endif
33948# 621 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33949template< class T> __attribute__((unused)) static typename __nv_itex_trait< T> ::type
33950# 622
33951texCubemapLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer, float4 dPdx, float4 dPdy)
33952# 623
33953{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)layer;(void)dPdx;(void)dPdy;
33954# 625
33955::exit(___);}
33956#if 0
33957# 623
33958{
33959# 624
33960__nv_tex_surf_handler("__itexCubemapLayeredGrad_v2", ptr, obj, x, y, z, layer, &dPdx, &dPdy);
33961# 625
33962}
33963#endif
33964# 627 "/usr/local/cuda/bin/../targets/x86_64-linux/include/texture_indirect_functions.h"
33965template< class T> __attribute__((unused)) static T
33966# 628
33967texCubemapLayeredGrad(cudaTextureObject_t texObject, float x, float y, float z, int layer, float4 dPdx, float4 dPdy)
33968# 629
33969{int volatile ___ = 1;(void)texObject;(void)x;(void)y;(void)z;(void)layer;(void)dPdx;(void)dPdy;
33970# 633
33971::exit(___);}
33972#if 0
33973# 629
33974{
33975# 630
33976T ret;
33977# 631
33978texCubemapLayeredGrad(&ret, texObject, x, y, z, layer, dPdx, dPdy);
33979# 632
33980return ret;
33981# 633
33982}
33983#endif
33984# 58 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
33985template< class T> struct __nv_isurf_trait { };
33986# 59
33987template<> struct __nv_isurf_trait< char> { typedef void type; };
33988# 60
33989template<> struct __nv_isurf_trait< signed char> { typedef void type; };
33990# 61
33991template<> struct __nv_isurf_trait< char1> { typedef void type; };
33992# 62
33993template<> struct __nv_isurf_trait< unsigned char> { typedef void type; };
33994# 63
33995template<> struct __nv_isurf_trait< uchar1> { typedef void type; };
33996# 64
33997template<> struct __nv_isurf_trait< short> { typedef void type; };
33998# 65
33999template<> struct __nv_isurf_trait< short1> { typedef void type; };
34000# 66
34001template<> struct __nv_isurf_trait< unsigned short> { typedef void type; };
34002# 67
34003template<> struct __nv_isurf_trait< ushort1> { typedef void type; };
34004# 68
34005template<> struct __nv_isurf_trait< int> { typedef void type; };
34006# 69
34007template<> struct __nv_isurf_trait< int1> { typedef void type; };
34008# 70
34009template<> struct __nv_isurf_trait< unsigned> { typedef void type; };
34010# 71
34011template<> struct __nv_isurf_trait< uint1> { typedef void type; };
34012# 72
34013template<> struct __nv_isurf_trait< long long> { typedef void type; };
34014# 73
34015template<> struct __nv_isurf_trait< longlong1> { typedef void type; };
34016# 74
34017template<> struct __nv_isurf_trait< unsigned long long> { typedef void type; };
34018# 75
34019template<> struct __nv_isurf_trait< ulonglong1> { typedef void type; };
34020# 76
34021template<> struct __nv_isurf_trait< float> { typedef void type; };
34022# 77
34023template<> struct __nv_isurf_trait< float1> { typedef void type; };
34024# 79
34025template<> struct __nv_isurf_trait< char2> { typedef void type; };
34026# 80
34027template<> struct __nv_isurf_trait< uchar2> { typedef void type; };
34028# 81
34029template<> struct __nv_isurf_trait< short2> { typedef void type; };
34030# 82
34031template<> struct __nv_isurf_trait< ushort2> { typedef void type; };
34032# 83
34033template<> struct __nv_isurf_trait< int2> { typedef void type; };
34034# 84
34035template<> struct __nv_isurf_trait< uint2> { typedef void type; };
34036# 85
34037template<> struct __nv_isurf_trait< longlong2> { typedef void type; };
34038# 86
34039template<> struct __nv_isurf_trait< ulonglong2> { typedef void type; };
34040# 87
34041template<> struct __nv_isurf_trait< float2> { typedef void type; };
34042# 89
34043template<> struct __nv_isurf_trait< char4> { typedef void type; };
34044# 90
34045template<> struct __nv_isurf_trait< uchar4> { typedef void type; };
34046# 91
34047template<> struct __nv_isurf_trait< short4> { typedef void type; };
34048# 92
34049template<> struct __nv_isurf_trait< ushort4> { typedef void type; };
34050# 93
34051template<> struct __nv_isurf_trait< int4> { typedef void type; };
34052# 94
34053template<> struct __nv_isurf_trait< uint4> { typedef void type; };
34054# 95
34055template<> struct __nv_isurf_trait< float4> { typedef void type; };
34056# 98
34057template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34058# 99
34059surf1Dread(T *ptr, cudaSurfaceObject_t obj, int x, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34060# 100
34061{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)mode;
34062# 102
34063::exit(___);}
34064#if 0
34065# 100
34066{
34067# 101
34068__nv_tex_surf_handler("__isurf1Dread", ptr, obj, x, mode);
34069# 102
34070}
34071#endif
34072# 104 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34073template< class T> __attribute__((unused)) static T
34074# 105
34075surf1Dread(cudaSurfaceObject_t surfObject, int x, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34076# 106
34077{int volatile ___ = 1;(void)surfObject;(void)x;(void)boundaryMode;
34078# 110
34079::exit(___);}
34080#if 0
34081# 106
34082{
34083# 107
34084T ret;
34085# 108
34086surf1Dread(&ret, surfObject, x, boundaryMode);
34087# 109
34088return ret;
34089# 110
34090}
34091#endif
34092# 112 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34093template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34094# 113
34095surf2Dread(T *ptr, cudaSurfaceObject_t obj, int x, int y, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34096# 114
34097{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)mode;
34098# 116
34099::exit(___);}
34100#if 0
34101# 114
34102{
34103# 115
34104__nv_tex_surf_handler("__isurf2Dread", ptr, obj, x, y, mode);
34105# 116
34106}
34107#endif
34108# 118 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34109template< class T> __attribute__((unused)) static T
34110# 119
34111surf2Dread(cudaSurfaceObject_t surfObject, int x, int y, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34112# 120
34113{int volatile ___ = 1;(void)surfObject;(void)x;(void)y;(void)boundaryMode;
34114# 124
34115::exit(___);}
34116#if 0
34117# 120
34118{
34119# 121
34120T ret;
34121# 122
34122surf2Dread(&ret, surfObject, x, y, boundaryMode);
34123# 123
34124return ret;
34125# 124
34126}
34127#endif
34128# 127 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34129template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34130# 128
34131surf3Dread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int z, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34132# 129
34133{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)z;(void)mode;
34134# 131
34135::exit(___);}
34136#if 0
34137# 129
34138{
34139# 130
34140__nv_tex_surf_handler("__isurf3Dread", ptr, obj, x, y, z, mode);
34141# 131
34142}
34143#endif
34144# 133 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34145template< class T> __attribute__((unused)) static T
34146# 134
34147surf3Dread(cudaSurfaceObject_t surfObject, int x, int y, int z, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34148# 135
34149{int volatile ___ = 1;(void)surfObject;(void)x;(void)y;(void)z;(void)boundaryMode;
34150# 139
34151::exit(___);}
34152#if 0
34153# 135
34154{
34155# 136
34156T ret;
34157# 137
34158surf3Dread(&ret, surfObject, x, y, z, boundaryMode);
34159# 138
34160return ret;
34161# 139
34162}
34163#endif
34164# 141 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34165template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34166# 142
34167surf1DLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34168# 143
34169{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)layer;(void)mode;
34170# 145
34171::exit(___);}
34172#if 0
34173# 143
34174{
34175# 144
34176__nv_tex_surf_handler("__isurf1DLayeredread", ptr, obj, x, layer, mode);
34177# 145
34178}
34179#endif
34180# 147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34181template< class T> __attribute__((unused)) static T
34182# 148
34183surf1DLayeredread(cudaSurfaceObject_t surfObject, int x, int layer, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34184# 149
34185{int volatile ___ = 1;(void)surfObject;(void)x;(void)layer;(void)boundaryMode;
34186# 153
34187::exit(___);}
34188#if 0
34189# 149
34190{
34191# 150
34192T ret;
34193# 151
34194surf1DLayeredread(&ret, surfObject, x, layer, boundaryMode);
34195# 152
34196return ret;
34197# 153
34198}
34199#endif
34200# 155 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34201template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34202# 156
34203surf2DLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34204# 157
34205{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layer;(void)mode;
34206# 159
34207::exit(___);}
34208#if 0
34209# 157
34210{
34211# 158
34212__nv_tex_surf_handler("__isurf2DLayeredread", ptr, obj, x, y, layer, mode);
34213# 159
34214}
34215#endif
34216# 161 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34217template< class T> __attribute__((unused)) static T
34218# 162
34219surf2DLayeredread(cudaSurfaceObject_t surfObject, int x, int y, int layer, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34220# 163
34221{int volatile ___ = 1;(void)surfObject;(void)x;(void)y;(void)layer;(void)boundaryMode;
34222# 167
34223::exit(___);}
34224#if 0
34225# 163
34226{
34227# 164
34228T ret;
34229# 165
34230surf2DLayeredread(&ret, surfObject, x, y, layer, boundaryMode);
34231# 166
34232return ret;
34233# 167
34234}
34235#endif
34236# 169 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34237template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34238# 170
34239surfCubemapread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int face, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34240# 171
34241{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)face;(void)mode;
34242# 173
34243::exit(___);}
34244#if 0
34245# 171
34246{
34247# 172
34248__nv_tex_surf_handler("__isurfCubemapread", ptr, obj, x, y, face, mode);
34249# 173
34250}
34251#endif
34252# 175 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34253template< class T> __attribute__((unused)) static T
34254# 176
34255surfCubemapread(cudaSurfaceObject_t surfObject, int x, int y, int face, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34256# 177
34257{int volatile ___ = 1;(void)surfObject;(void)x;(void)y;(void)face;(void)boundaryMode;
34258# 181
34259::exit(___);}
34260#if 0
34261# 177
34262{
34263# 178
34264T ret;
34265# 179
34266surfCubemapread(&ret, surfObject, x, y, face, boundaryMode);
34267# 180
34268return ret;
34269# 181
34270}
34271#endif
34272# 183 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34273template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34274# 184
34275surfCubemapLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int layerface, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34276# 185
34277{int volatile ___ = 1;(void)ptr;(void)obj;(void)x;(void)y;(void)layerface;(void)mode;
34278# 187
34279::exit(___);}
34280#if 0
34281# 185
34282{
34283# 186
34284__nv_tex_surf_handler("__isurfCubemapLayeredread", ptr, obj, x, y, layerface, mode);
34285# 187
34286}
34287#endif
34288# 189 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34289template< class T> __attribute__((unused)) static T
34290# 190
34291surfCubemapLayeredread(cudaSurfaceObject_t surfObject, int x, int y, int layerface, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap)
34292# 191
34293{int volatile ___ = 1;(void)surfObject;(void)x;(void)y;(void)layerface;(void)boundaryMode;
34294# 195
34295::exit(___);}
34296#if 0
34297# 191
34298{
34299# 192
34300T ret;
34301# 193
34302surfCubemapLayeredread(&ret, surfObject, x, y, layerface, boundaryMode);
34303# 194
34304return ret;
34305# 195
34306}
34307#endif
34308# 197 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34309template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34310# 198
34311surf1Dwrite(T val, cudaSurfaceObject_t obj, int x, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34312# 199
34313{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)mode;
34314# 201
34315::exit(___);}
34316#if 0
34317# 199
34318{
34319# 200
34320__nv_tex_surf_handler("__isurf1Dwrite_v2", &val, obj, x, mode);
34321# 201
34322}
34323#endif
34324# 203 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34325template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34326# 204
34327surf2Dwrite(T val, cudaSurfaceObject_t obj, int x, int y, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34328# 205
34329{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)y;(void)mode;
34330# 207
34331::exit(___);}
34332#if 0
34333# 205
34334{
34335# 206
34336__nv_tex_surf_handler("__isurf2Dwrite_v2", &val, obj, x, y, mode);
34337# 207
34338}
34339#endif
34340# 209 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34341template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34342# 210
34343surf3Dwrite(T val, cudaSurfaceObject_t obj, int x, int y, int z, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34344# 211
34345{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)y;(void)z;(void)mode;
34346# 213
34347::exit(___);}
34348#if 0
34349# 211
34350{
34351# 212
34352__nv_tex_surf_handler("__isurf3Dwrite_v2", &val, obj, x, y, z, mode);
34353# 213
34354}
34355#endif
34356# 215 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34357template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34358# 216
34359surf1DLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34360# 217
34361{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)layer;(void)mode;
34362# 219
34363::exit(___);}
34364#if 0
34365# 217
34366{
34367# 218
34368__nv_tex_surf_handler("__isurf1DLayeredwrite_v2", &val, obj, x, layer, mode);
34369# 219
34370}
34371#endif
34372# 221 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34373template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34374# 222
34375surf2DLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int y, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34376# 223
34377{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)y;(void)layer;(void)mode;
34378# 225
34379::exit(___);}
34380#if 0
34381# 223
34382{
34383# 224
34384__nv_tex_surf_handler("__isurf2DLayeredwrite_v2", &val, obj, x, y, layer, mode);
34385# 225
34386}
34387#endif
34388# 227 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34389template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34390# 228
34391surfCubemapwrite(T val, cudaSurfaceObject_t obj, int x, int y, int face, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34392# 229
34393{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)y;(void)face;(void)mode;
34394# 231
34395::exit(___);}
34396#if 0
34397# 229
34398{
34399# 230
34400__nv_tex_surf_handler("__isurfCubemapwrite_v2", &val, obj, x, y, face, mode);
34401# 231
34402}
34403#endif
34404# 233 "/usr/local/cuda/bin/../targets/x86_64-linux/include/surface_indirect_functions.h"
34405template< class T> __attribute__((unused)) static typename __nv_isurf_trait< T> ::type
34406# 234
34407surfCubemapLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int y, int layerface, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap)
34408# 235
34409{int volatile ___ = 1;(void)val;(void)obj;(void)x;(void)y;(void)layerface;(void)mode;
34410# 237
34411::exit(___);}
34412#if 0
34413# 235
34414{
34415# 236
34416__nv_tex_surf_handler("__isurfCubemapLayeredwrite_v2", &val, obj, x, y, layerface, mode);
34417# 237
34418}
34419#endif
34420# 2924 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
34421extern "C" unsigned __cudaPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem = 0, CUstream_st * stream = 0);
34422# 2969 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/device_functions.h"
34423enum {
34424# 2970
34425__NV_ATOMIC_RELAXED,
34426# 2971
34427__NV_ATOMIC_CONSUME,
34428# 2972
34429__NV_ATOMIC_ACQUIRE,
34430# 2973
34431__NV_ATOMIC_RELEASE,
34432# 2974
34433__NV_ATOMIC_ACQ_REL,
34434# 2975
34435__NV_ATOMIC_SEQ_CST
34436# 2976
34437};
34438# 2978
34439enum {
34440# 2979
34441__NV_THREAD_SCOPE_THREAD,
34442# 2980
34443__NV_THREAD_SCOPE_BLOCK,
34444# 2981
34445__NV_THREAD_SCOPE_CLUSTER,
34446# 2982
34447__NV_THREAD_SCOPE_DEVICE,
34448# 2983
34449__NV_THREAD_SCOPE_SYSTEM
34450# 2984
34451};
34452# 68 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_launch_parameters.h"
34453extern "C" {
34454# 71
34455extern const uint3 __device_builtin_variable_threadIdx;
34456# 72
34457extern const uint3 __device_builtin_variable_blockIdx;
34458# 73
34459extern const dim3 __device_builtin_variable_blockDim;
34460# 74
34461extern const dim3 __device_builtin_variable_gridDim;
34462# 75
34463extern const int __device_builtin_variable_warpSize;
34464# 80
34465}
34466# 62 "/usr/include/c++/13/bits/stl_relops.h" 3
34467namespace std __attribute((__visibility__("default"))) {
34468# 66
34469namespace rel_ops {
34470# 86 "/usr/include/c++/13/bits/stl_relops.h" 3
34471template< class _Tp> inline bool
34472# 88
34473operator!=(const _Tp &__x, const _Tp &__y)
34474# 89
34475{ return !(__x == __y); }
34476# 99 "/usr/include/c++/13/bits/stl_relops.h" 3
34477template< class _Tp> inline bool
34478# 101
34479operator>(const _Tp &__x, const _Tp &__y)
34480# 102
34481{ return __y < __x; }
34482# 112 "/usr/include/c++/13/bits/stl_relops.h" 3
34483template< class _Tp> inline bool
34484# 114
34485operator<=(const _Tp &__x, const _Tp &__y)
34486# 115
34487{ return !(__y < __x); }
34488# 125 "/usr/include/c++/13/bits/stl_relops.h" 3
34489template< class _Tp> inline bool
34490# 127
34491operator>=(const _Tp &__x, const _Tp &__y)
34492# 128
34493{ return !(__x < __y); }
34494# 129
34495}
34496# 132
34497}
34498# 41 "/usr/include/c++/13/initializer_list" 3
34499namespace std __attribute((__visibility__("default"))) {
34500# 44
34501template< class _E>
34502# 45
34503class initializer_list {
34504# 48
34505public: typedef _E value_type;
34506# 49
34507typedef const _E &reference;
34508# 50
34509typedef const _E &const_reference;
34510# 51
34511typedef size_t size_type;
34512# 52
34513typedef const _E *iterator;
34514# 53
34515typedef const _E *const_iterator;
34516# 56
34517private: iterator _M_array;
34518# 57
34519size_type _M_len;
34520# 60
34521constexpr initializer_list(const_iterator __a, size_type __l) : _M_array(__a), _M_len(__l)
34522# 61
34523{ }
34524# 64
34525public: constexpr initializer_list() noexcept : _M_array((0)), _M_len((0))
34526# 65
34527{ }
34528# 69
34529constexpr size_type size() const noexcept { return _M_len; }
34530# 73
34531constexpr const_iterator begin() const noexcept { return _M_array; }
34532# 77
34533constexpr const_iterator end() const noexcept { return begin() + size(); }
34534# 78
34535};
34536# 86
34537template< class _Tp> constexpr const _Tp *
34538# 88
34539begin(initializer_list< _Tp> __ils) noexcept
34540# 89
34541{ return __ils.begin(); }
34542# 97
34543template< class _Tp> constexpr const _Tp *
34544# 99
34545end(initializer_list< _Tp> __ils) noexcept
34546# 100
34547{ return __ils.end(); }
34548# 101
34549}
34550# 82 "/usr/include/c++/13/utility" 3
34551namespace std __attribute((__visibility__("default"))) {
34552# 94 "/usr/include/c++/13/utility" 3
34553template< class _Tp, class _Up = _Tp> inline _Tp
34554# 97
34555exchange(_Tp &__obj, _Up &&__new_val) noexcept(__and_< is_nothrow_move_constructible< _Tp> , is_nothrow_assignable< _Tp &, _Up> > ::value)
34556# 100
34557{ return std::__exchange(__obj, std::forward< _Up> (__new_val)); }
34558# 105
34559template< class _Tp>
34560# 106
34561[[nodiscard]] constexpr add_const_t< _Tp> &
34562# 108
34563as_const(_Tp &__t) noexcept
34564# 109
34565{ return __t; }
34566# 111
34567template < typename _Tp >
34568 void as_const ( const _Tp && ) = delete;
34569# 225 "/usr/include/c++/13/utility" 3
34570}
34571# 207 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34572template< class T> static inline cudaError_t
34573# 208
34574cudaLaunchKernel(T *
34575# 209
34576func, dim3
34577# 210
34578gridDim, dim3
34579# 211
34580blockDim, void **
34581# 212
34582args, size_t
34583# 213
34584sharedMem = 0, cudaStream_t
34585# 214
34586stream = 0)
34587# 216
34588{
34589# 217
34590return ::cudaLaunchKernel((const void *)func, gridDim, blockDim, args, sharedMem, stream);
34591# 218
34592}
34593# 279 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34594template< class ...ExpTypes, class ...ActTypes> static inline cudaError_t
34595# 280
34596cudaLaunchKernelEx(const cudaLaunchConfig_t *
34597# 281
34598config, void (*
34599# 282
34600kernel)(ExpTypes ...), ActTypes &&...
34601# 283
34602args)
34603# 285
34604{
34605# 286
34606return [&](ExpTypes ...coercedArgs) {
34607# 287
34608void *pArgs[] = {(&coercedArgs)...};
34609# 288
34610return ::cudaLaunchKernelExC(config, (const void *)(kernel), pArgs);
34611# 289
34612} (std::forward< ActTypes> (args)...);
34613# 290
34614}
34615# 348 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34616template< class ...ActTypes> static inline cudaError_t
34617# 349
34618cudaLaunchKernelEx(const cudaLaunchConfig_t *
34619# 350
34620config, const cudaKernel_t
34621# 351
34622kernel, ActTypes &&...
34623# 352
34624args)
34625# 354
34626{
34627# 355
34628void *pArgs[] = {(&args)...};
34629# 356
34630return ::cudaLaunchKernelExC(config, (const void *)kernel, pArgs);
34631# 357
34632}
34633# 410 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34634template< class T> static inline cudaError_t
34635# 411
34636cudaLaunchCooperativeKernel(T *
34637# 412
34638func, dim3
34639# 413
34640gridDim, dim3
34641# 414
34642blockDim, void **
34643# 415
34644args, size_t
34645# 416
34646sharedMem = 0, cudaStream_t
34647# 417
34648stream = 0)
34649# 419
34650{
34651# 420
34652return ::cudaLaunchCooperativeKernel((const void *)func, gridDim, blockDim, args, sharedMem, stream);
34653# 421
34654}
34655# 454 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34656static inline cudaError_t cudaEventCreate(cudaEvent_t *
34657# 455
34658event, unsigned
34659# 456
34660flags)
34661# 458
34662{
34663# 459
34664return ::cudaEventCreateWithFlags(event, flags);
34665# 460
34666}
34667# 498 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34668static inline cudaError_t cudaGraphInstantiate(cudaGraphExec_t *
34669# 499
34670pGraphExec, cudaGraph_t
34671# 500
34672graph, cudaGraphNode_t *
34673# 501
34674pErrorNode, char *
34675# 502
34676pLogBuffer, size_t
34677# 503
34678bufferSize)
34679# 505
34680{
34681# 506
34682(void)pErrorNode;
34683# 507
34684(void)pLogBuffer;
34685# 508
34686(void)bufferSize;
34687# 509
34688return ::cudaGraphInstantiate(pGraphExec, graph, 0);
34689# 510
34690}
34691# 569 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34692static inline cudaError_t cudaMallocHost(void **
34693# 570
34694ptr, size_t
34695# 571
34696size, unsigned
34697# 572
34698flags)
34699# 574
34700{
34701# 575
34702return ::cudaHostAlloc(ptr, size, flags);
34703# 576
34704}
34705# 578
34706template< class T> static inline cudaError_t
34707# 579
34708cudaHostAlloc(T **
34709# 580
34710ptr, size_t
34711# 581
34712size, unsigned
34713# 582
34714flags)
34715# 584
34716{
34717# 585
34718return ::cudaHostAlloc((void **)((void *)ptr), size, flags);
34719# 586
34720}
34721# 588
34722template< class T> static inline cudaError_t
34723# 589
34724cudaHostGetDevicePointer(T **
34725# 590
34726pDevice, void *
34727# 591
34728pHost, unsigned
34729# 592
34730flags)
34731# 594
34732{
34733# 595
34734return ::cudaHostGetDevicePointer((void **)((void *)pDevice), pHost, flags);
34735# 596
34736}
34737# 698 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34738template< class T> static inline cudaError_t
34739# 699
34740cudaMallocManaged(T **
34741# 700
34742devPtr, size_t
34743# 701
34744size, unsigned
34745# 702
34746flags = 1)
34747# 704
34748{
34749# 705
34750return ::cudaMallocManaged((void **)((void *)devPtr), size, flags);
34751# 706
34752}
34753# 716 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34754template< class T> cudaError_t
34755# 717
34756cudaMemAdvise(T *
34757# 718
34758devPtr, size_t
34759# 719
34760count, cudaMemoryAdvise
34761# 720
34762advice, cudaMemLocation
34763# 721
34764location)
34765# 723
34766{
34767# 724
34768return ::cudaMemAdvise_v2((const void *)devPtr, count, advice, location);
34769# 725
34770}
34771# 727
34772template< class T> static inline cudaError_t
34773# 728
34774cudaMemPrefetchAsync(T *
34775# 729
34776devPtr, size_t
34777# 730
34778count, cudaMemLocation
34779# 731
34780location, unsigned
34781# 732
34782flags, cudaStream_t
34783# 733
34784stream = 0)
34785# 735
34786{
34787# 736
34788return ::cudaMemPrefetchAsync_v2((const void *)devPtr, count, location, flags, stream);
34789# 737
34790}
34791# 819 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34792template< class T> static inline cudaError_t
34793# 820
34794cudaStreamAttachMemAsync(cudaStream_t
34795# 821
34796stream, T *
34797# 822
34798devPtr, size_t
34799# 823
34800length = 0, unsigned
34801# 824
34802flags = 4)
34803# 826
34804{
34805# 827
34806return ::cudaStreamAttachMemAsync(stream, (void *)devPtr, length, flags);
34807# 828
34808}
34809# 830
34810template< class T> inline cudaError_t
34811# 831
34812cudaMalloc(T **
34813# 832
34814devPtr, size_t
34815# 833
34816size)
34817# 835
34818{
34819# 836
34820return ::cudaMalloc((void **)((void *)devPtr), size);
34821# 837
34822}
34823# 839
34824template< class T> static inline cudaError_t
34825# 840
34826cudaMallocHost(T **
34827# 841
34828ptr, size_t
34829# 842
34830size, unsigned
34831# 843
34832flags = 0)
34833# 845
34834{
34835# 846
34836return cudaMallocHost((void **)((void *)ptr), size, flags);
34837# 847
34838}
34839# 849
34840template< class T> static inline cudaError_t
34841# 850
34842cudaMallocPitch(T **
34843# 851
34844devPtr, size_t *
34845# 852
34846pitch, size_t
34847# 853
34848width, size_t
34849# 854
34850height)
34851# 856
34852{
34853# 857
34854return ::cudaMallocPitch((void **)((void *)devPtr), pitch, width, height);
34855# 858
34856}
34857# 869 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34858static inline cudaError_t cudaMallocAsync(void **
34859# 870
34860ptr, size_t
34861# 871
34862size, cudaMemPool_t
34863# 872
34864memPool, cudaStream_t
34865# 873
34866stream)
34867# 875
34868{
34869# 876
34870return ::cudaMallocFromPoolAsync(ptr, size, memPool, stream);
34871# 877
34872}
34873# 879
34874template< class T> static inline cudaError_t
34875# 880
34876cudaMallocAsync(T **
34877# 881
34878ptr, size_t
34879# 882
34880size, cudaMemPool_t
34881# 883
34882memPool, cudaStream_t
34883# 884
34884stream)
34885# 886
34886{
34887# 887
34888return ::cudaMallocFromPoolAsync((void **)((void *)ptr), size, memPool, stream);
34889# 888
34890}
34891# 890
34892template< class T> static inline cudaError_t
34893# 891
34894cudaMallocAsync(T **
34895# 892
34896ptr, size_t
34897# 893
34898size, cudaStream_t
34899# 894
34900stream)
34901# 896
34902{
34903# 897
34904return ::cudaMallocAsync((void **)((void *)ptr), size, stream);
34905# 898
34906}
34907# 900
34908template< class T> static inline cudaError_t
34909# 901
34910cudaMallocFromPoolAsync(T **
34911# 902
34912ptr, size_t
34913# 903
34914size, cudaMemPool_t
34915# 904
34916memPool, cudaStream_t
34917# 905
34918stream)
34919# 907
34920{
34921# 908
34922return ::cudaMallocFromPoolAsync((void **)((void *)ptr), size, memPool, stream);
34923# 909
34924}
34925# 919 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34926template< class T, class U> static inline cudaError_t
34927# 920
34928cudaMemcpyBatchAsync(T **
34929# 921
34930dsts, U **srcs, size_t *sizes, size_t count, cudaMemcpyAttributes *attrs, size_t *
34931# 922
34932attrsIdxs, size_t numAttrs, size_t *failIdx, cudaStream_t hStream)
34933# 924
34934{
34935# 925
34936return ::cudaMemcpyBatchAsync((void **)dsts, (void **)srcs, sizes, count, attrs, attrsIdxs, numAttrs, failIdx, hStream);
34937# 926
34938}
34939# 938 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34940template< class T, class U> static inline cudaError_t
34941# 939
34942cudaMemcpyBatchAsync(T **
34943# 940
34944dsts, U **srcs, size_t *sizes, size_t count, cudaMemcpyAttributes attr, size_t *failIdx, cudaStream_t hStream)
34945# 942
34946{
34947# 943
34948size_t attrsIdxs = (0);
34949# 944
34950return ::cudaMemcpyBatchAsync((void **)dsts, (void **)srcs, sizes, count, &attr, &attrsIdxs, 1, failIdx, hStream);
34951# 945
34952}
34953# 984 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34954template< class T> static inline cudaError_t
34955# 985
34956cudaMemcpyToSymbol(const T &
34957# 986
34958symbol, const void *
34959# 987
34960src, size_t
34961# 988
34962count, size_t
34963# 989
34964offset = 0, cudaMemcpyKind
34965# 990
34966kind = cudaMemcpyHostToDevice)
34967# 992
34968{
34969# 993
34970return ::cudaMemcpyToSymbol((const void *)(&symbol), src, count, offset, kind);
34971# 994
34972}
34973# 1038 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34974template< class T> static inline cudaError_t
34975# 1039
34976cudaMemcpyToSymbolAsync(const T &
34977# 1040
34978symbol, const void *
34979# 1041
34980src, size_t
34981# 1042
34982count, size_t
34983# 1043
34984offset = 0, cudaMemcpyKind
34985# 1044
34986kind = cudaMemcpyHostToDevice, cudaStream_t
34987# 1045
34988stream = 0)
34989# 1047
34990{
34991# 1048
34992return ::cudaMemcpyToSymbolAsync((const void *)(&symbol), src, count, offset, kind, stream);
34993# 1049
34994}
34995# 1086 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
34996template< class T> static inline cudaError_t
34997# 1087
34998cudaMemcpyFromSymbol(void *
34999# 1088
35000dst, const T &
35001# 1089
35002symbol, size_t
35003# 1090
35004count, size_t
35005# 1091
35006offset = 0, cudaMemcpyKind
35007# 1092
35008kind = cudaMemcpyDeviceToHost)
35009# 1094
35010{
35011# 1095
35012return ::cudaMemcpyFromSymbol(dst, (const void *)(&symbol), count, offset, kind);
35013# 1096
35014}
35015# 1140 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35016template< class T> static inline cudaError_t
35017# 1141
35018cudaMemcpyFromSymbolAsync(void *
35019# 1142
35020dst, const T &
35021# 1143
35022symbol, size_t
35023# 1144
35024count, size_t
35025# 1145
35026offset = 0, cudaMemcpyKind
35027# 1146
35028kind = cudaMemcpyDeviceToHost, cudaStream_t
35029# 1147
35030stream = 0)
35031# 1149
35032{
35033# 1150
35034return ::cudaMemcpyFromSymbolAsync(dst, (const void *)(&symbol), count, offset, kind, stream);
35035# 1151
35036}
35037# 1209 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35038template< class T> static inline cudaError_t
35039# 1210
35040cudaGraphAddMemcpyNodeToSymbol(cudaGraphNode_t *
35041# 1211
35042pGraphNode, cudaGraph_t
35043# 1212
35044graph, const cudaGraphNode_t *
35045# 1213
35046pDependencies, size_t
35047# 1214
35048numDependencies, const T &
35049# 1215
35050symbol, const void *
35051# 1216
35052src, size_t
35053# 1217
35054count, size_t
35055# 1218
35056offset, cudaMemcpyKind
35057# 1219
35058kind)
35059# 1220
35060{
35061# 1221
35062return ::cudaGraphAddMemcpyNodeToSymbol(pGraphNode, graph, pDependencies, numDependencies, (const void *)(&symbol), src, count, offset, kind);
35063# 1222
35064}
35065# 1280 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35066template< class T> static inline cudaError_t
35067# 1281
35068cudaGraphAddMemcpyNodeFromSymbol(cudaGraphNode_t *
35069# 1282
35070pGraphNode, cudaGraph_t
35071# 1283
35072graph, const cudaGraphNode_t *
35073# 1284
35074pDependencies, size_t
35075# 1285
35076numDependencies, void *
35077# 1286
35078dst, const T &
35079# 1287
35080symbol, size_t
35081# 1288
35082count, size_t
35083# 1289
35084offset, cudaMemcpyKind
35085# 1290
35086kind)
35087# 1291
35088{
35089# 1292
35090return ::cudaGraphAddMemcpyNodeFromSymbol(pGraphNode, graph, pDependencies, numDependencies, dst, (const void *)(&symbol), count, offset, kind);
35091# 1293
35092}
35093# 1331 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35094template< class T> static inline cudaError_t
35095# 1332
35096cudaGraphMemcpyNodeSetParamsToSymbol(cudaGraphNode_t
35097# 1333
35098node, const T &
35099# 1334
35100symbol, const void *
35101# 1335
35102src, size_t
35103# 1336
35104count, size_t
35105# 1337
35106offset, cudaMemcpyKind
35107# 1338
35108kind)
35109# 1339
35110{
35111# 1340
35112return ::cudaGraphMemcpyNodeSetParamsToSymbol(node, (const void *)(&symbol), src, count, offset, kind);
35113# 1341
35114}
35115# 1379 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35116template< class T> static inline cudaError_t
35117# 1380
35118cudaGraphMemcpyNodeSetParamsFromSymbol(cudaGraphNode_t
35119# 1381
35120node, void *
35121# 1382
35122dst, const T &
35123# 1383
35124symbol, size_t
35125# 1384
35126count, size_t
35127# 1385
35128offset, cudaMemcpyKind
35129# 1386
35130kind)
35131# 1387
35132{
35133# 1388
35134return ::cudaGraphMemcpyNodeSetParamsFromSymbol(node, dst, (const void *)(&symbol), count, offset, kind);
35135# 1389
35136}
35137# 1437 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35138template< class T> static inline cudaError_t
35139# 1438
35140cudaGraphExecMemcpyNodeSetParamsToSymbol(cudaGraphExec_t
35141# 1439
35142hGraphExec, cudaGraphNode_t
35143# 1440
35144node, const T &
35145# 1441
35146symbol, const void *
35147# 1442
35148src, size_t
35149# 1443
35150count, size_t
35151# 1444
35152offset, cudaMemcpyKind
35153# 1445
35154kind)
35155# 1446
35156{
35157# 1447
35158return ::cudaGraphExecMemcpyNodeSetParamsToSymbol(hGraphExec, node, (const void *)(&symbol), src, count, offset, kind);
35159# 1448
35160}
35161# 1496 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35162template< class T> static inline cudaError_t
35163# 1497
35164cudaGraphExecMemcpyNodeSetParamsFromSymbol(cudaGraphExec_t
35165# 1498
35166hGraphExec, cudaGraphNode_t
35167# 1499
35168node, void *
35169# 1500
35170dst, const T &
35171# 1501
35172symbol, size_t
35173# 1502
35174count, size_t
35175# 1503
35176offset, cudaMemcpyKind
35177# 1504
35178kind)
35179# 1505
35180{
35181# 1506
35182return ::cudaGraphExecMemcpyNodeSetParamsFromSymbol(hGraphExec, node, dst, (const void *)(&symbol), count, offset, kind);
35183# 1507
35184}
35185# 1510
35186static inline cudaError_t cudaGraphExecUpdate(cudaGraphExec_t hGraphExec, cudaGraph_t hGraph, cudaGraphNode_t *hErrorNode_out, cudaGraphExecUpdateResult *updateResult_out)
35187# 1511
35188{
35189# 1512
35190cudaGraphExecUpdateResultInfo resultInfo;
35191# 1513
35192cudaError_t status = cudaGraphExecUpdate(hGraphExec, hGraph, &resultInfo);
35193# 1514
35194if (hErrorNode_out) {
35195# 1515
35196(*hErrorNode_out) = (resultInfo.errorNode);
35197# 1516
35198}
35199# 1517
35200if (updateResult_out) {
35201# 1518
35202(*updateResult_out) = (resultInfo.result);
35203# 1519
35204}
35205# 1520
35206return status;
35207# 1521
35208}
35209# 1549 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35210template< class T> static inline cudaError_t
35211# 1550
35212cudaUserObjectCreate(cudaUserObject_t *
35213# 1551
35214object_out, T *
35215# 1552
35216objectToWrap, unsigned
35217# 1553
35218initialRefcount, unsigned
35219# 1554
35220flags)
35221# 1555
35222{
35223# 1556
35224return ::cudaUserObjectCreate(object_out, objectToWrap, [](void *
35225# 1559
35226vpObj) { delete (reinterpret_cast< T *>(vpObj)); } , initialRefcount, flags);
35227# 1562
35228}
35229# 1564
35230template< class T> static inline cudaError_t
35231# 1565
35232cudaUserObjectCreate(cudaUserObject_t *
35233# 1566
35234object_out, T *
35235# 1567
35236objectToWrap, unsigned
35237# 1568
35238initialRefcount, cudaUserObjectFlags
35239# 1569
35240flags)
35241# 1570
35242{
35243# 1571
35244return cudaUserObjectCreate(object_out, objectToWrap, initialRefcount, (unsigned)flags);
35245# 1572
35246}
35247# 1599 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35248template< class T> static inline cudaError_t
35249# 1600
35250cudaGetSymbolAddress(void **
35251# 1601
35252devPtr, const T &
35253# 1602
35254symbol)
35255# 1604
35256{
35257# 1605
35258return ::cudaGetSymbolAddress(devPtr, (const void *)(&symbol));
35259# 1606
35260}
35261# 1631 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35262template< class T> static inline cudaError_t
35263# 1632
35264cudaGetSymbolSize(size_t *
35265# 1633
35266size, const T &
35267# 1634
35268symbol)
35269# 1636
35270{
35271# 1637
35272return ::cudaGetSymbolSize(size, (const void *)(&symbol));
35273# 1638
35274}
35275# 1683 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35276template< class T> static inline cudaError_t
35277# 1684
35278cudaFuncSetCacheConfig(T *
35279# 1685
35280func, cudaFuncCache
35281# 1686
35282cacheConfig)
35283# 1688
35284{
35285# 1689
35286return ::cudaFuncSetCacheConfig((const void *)func, cacheConfig);
35287# 1690
35288}
35289# 1692
35290template< class T>
35291# 1694
35292__attribute((deprecated)) static inline cudaError_t
35293# 1695
35294cudaFuncSetSharedMemConfig(T *
35295# 1696
35296func, cudaSharedMemConfig
35297# 1697
35298config)
35299# 1699
35300{
35301# 1701
35302#pragma GCC diagnostic push
35303#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
35304# 1706
35305return ::cudaFuncSetSharedMemConfig((const void *)func, config);
35306# 1708
35307#pragma GCC diagnostic pop
35308# 1710
35309}
35310# 1743 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35311template< class T> inline cudaError_t
35312# 1744
35313cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *
35314# 1745
35315numBlocks, T
35316# 1746
35317func, int
35318# 1747
35319blockSize, size_t
35320# 1748
35321dynamicSMemSize)
35322# 1749
35323{
35324# 1750
35325return ::cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(numBlocks, (const void *)func, blockSize, dynamicSMemSize, 0);
35326# 1751
35327}
35328# 1796 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35329template< class T> inline cudaError_t
35330# 1797
35331cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *
35332# 1798
35333numBlocks, T
35334# 1799
35335func, int
35336# 1800
35337blockSize, size_t
35338# 1801
35339dynamicSMemSize, unsigned
35340# 1802
35341flags)
35342# 1803
35343{
35344# 1804
35345return ::cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(numBlocks, (const void *)func, blockSize, dynamicSMemSize, flags);
35346# 1805
35347}
35348# 1810
35349class __cudaOccupancyB2DHelper {
35350# 1811
35351size_t n;
35352# 1813
35353public: __cudaOccupancyB2DHelper(size_t n_) : n(n_) { }
35354# 1814
35355size_t operator()(int)
35356# 1815
35357{
35358# 1816
35359return n;
35360# 1817
35361}
35362# 1818
35363};
35364# 1866 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35365template< class UnaryFunction, class T> static inline cudaError_t
35366# 1867
35367cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(int *
35368# 1868
35369minGridSize, int *
35370# 1869
35371blockSize, T
35372# 1870
35373func, UnaryFunction
35374# 1871
35375blockSizeToDynamicSMemSize, int
35376# 1872
35377blockSizeLimit = 0, unsigned
35378# 1873
35379flags = 0)
35380# 1874
35381{
35382# 1875
35383cudaError_t status;
35384# 1878
35385int device;
35386# 1879
35387cudaFuncAttributes attr;
35388# 1882
35389int maxThreadsPerMultiProcessor;
35390# 1883
35391int warpSize;
35392# 1884
35393int devMaxThreadsPerBlock;
35394# 1885
35395int multiProcessorCount;
35396# 1886
35397int funcMaxThreadsPerBlock;
35398# 1887
35399int occupancyLimit;
35400# 1888
35401int granularity;
35402# 1891
35403int maxBlockSize = 0;
35404# 1892
35405int numBlocks = 0;
35406# 1893
35407int maxOccupancy = 0;
35408# 1896
35409int blockSizeToTryAligned;
35410# 1897
35411int blockSizeToTry;
35412# 1898
35413int blockSizeLimitAligned;
35414# 1899
35415int occupancyInBlocks;
35416# 1900
35417int occupancyInThreads;
35418# 1901
35419size_t dynamicSMemSize;
35420# 1907
35421if (((!minGridSize) || (!blockSize)) || (!func)) {
35422# 1908
35423return cudaErrorInvalidValue;
35424# 1909
35425}
35426# 1915
35427status = ::cudaGetDevice(&device);
35428# 1916
35429if (status != (cudaSuccess)) {
35430# 1917
35431return status;
35432# 1918
35433}
35434# 1920
35435status = cudaDeviceGetAttribute(&maxThreadsPerMultiProcessor, cudaDevAttrMaxThreadsPerMultiProcessor, device);
35436# 1924
35437if (status != (cudaSuccess)) {
35438# 1925
35439return status;
35440# 1926
35441}
35442# 1928
35443status = cudaDeviceGetAttribute(&warpSize, cudaDevAttrWarpSize, device);
35444# 1932
35445if (status != (cudaSuccess)) {
35446# 1933
35447return status;
35448# 1934
35449}
35450# 1936
35451status = cudaDeviceGetAttribute(&devMaxThreadsPerBlock, cudaDevAttrMaxThreadsPerBlock, device);
35452# 1940
35453if (status != (cudaSuccess)) {
35454# 1941
35455return status;
35456# 1942
35457}
35458# 1944
35459status = cudaDeviceGetAttribute(&multiProcessorCount, cudaDevAttrMultiProcessorCount, device);
35460# 1948
35461if (status != (cudaSuccess)) {
35462# 1949
35463return status;
35464# 1950
35465}
35466# 1952
35467status = cudaFuncGetAttributes(&attr, func);
35468# 1953
35469if (status != (cudaSuccess)) {
35470# 1954
35471return status;
35472# 1955
35473}
35474# 1957
35475funcMaxThreadsPerBlock = (attr.maxThreadsPerBlock);
35476# 1963
35477occupancyLimit = maxThreadsPerMultiProcessor;
35478# 1964
35479granularity = warpSize;
35480# 1966
35481if (blockSizeLimit == 0) {
35482# 1967
35483blockSizeLimit = devMaxThreadsPerBlock;
35484# 1968
35485}
35486# 1970
35487if (devMaxThreadsPerBlock < blockSizeLimit) {
35488# 1971
35489blockSizeLimit = devMaxThreadsPerBlock;
35490# 1972
35491}
35492# 1974
35493if (funcMaxThreadsPerBlock < blockSizeLimit) {
35494# 1975
35495blockSizeLimit = funcMaxThreadsPerBlock;
35496# 1976
35497}
35498# 1978
35499blockSizeLimitAligned = (((blockSizeLimit + (granularity - 1)) / granularity) * granularity);
35500# 1980
35501for (blockSizeToTryAligned = blockSizeLimitAligned; blockSizeToTryAligned > 0; blockSizeToTryAligned -= granularity) {
35502# 1984
35503if (blockSizeLimit < blockSizeToTryAligned) {
35504# 1985
35505blockSizeToTry = blockSizeLimit;
35506# 1986
35507} else {
35508# 1987
35509blockSizeToTry = blockSizeToTryAligned;
35510# 1988
35511}
35512# 1990
35513dynamicSMemSize = blockSizeToDynamicSMemSize(blockSizeToTry);
35514# 1992
35515status = cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&occupancyInBlocks, func, blockSizeToTry, dynamicSMemSize, flags);
35516# 1999
35517if (status != (cudaSuccess)) {
35518# 2000
35519return status;
35520# 2001
35521}
35522# 2003
35523occupancyInThreads = (blockSizeToTry * occupancyInBlocks);
35524# 2005
35525if (occupancyInThreads > maxOccupancy) {
35526# 2006
35527maxBlockSize = blockSizeToTry;
35528# 2007
35529numBlocks = occupancyInBlocks;
35530# 2008
35531maxOccupancy = occupancyInThreads;
35532# 2009
35533}
35534# 2013
35535if (occupancyLimit == maxOccupancy) {
35536# 2014
35537break;
35538# 2015
35539}
35540# 2016
35541}
35542# 2024
35543(*minGridSize) = (numBlocks * multiProcessorCount);
35544# 2025
35545(*blockSize) = maxBlockSize;
35546# 2027
35547return status;
35548# 2028
35549}
35550# 2062 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35551template< class UnaryFunction, class T> static inline cudaError_t
35552# 2063
35553cudaOccupancyMaxPotentialBlockSizeVariableSMem(int *
35554# 2064
35555minGridSize, int *
35556# 2065
35557blockSize, T
35558# 2066
35559func, UnaryFunction
35560# 2067
35561blockSizeToDynamicSMemSize, int
35562# 2068
35563blockSizeLimit = 0)
35564# 2069
35565{
35566# 2070
35567return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, blockSizeToDynamicSMemSize, blockSizeLimit, 0);
35568# 2071
35569}
35570# 2108 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35571template< class T> static inline cudaError_t
35572# 2109
35573cudaOccupancyMaxPotentialBlockSize(int *
35574# 2110
35575minGridSize, int *
35576# 2111
35577blockSize, T
35578# 2112
35579func, size_t
35580# 2113
35581dynamicSMemSize = 0, int
35582# 2114
35583blockSizeLimit = 0)
35584# 2115
35585{
35586# 2116
35587return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, ((__cudaOccupancyB2DHelper)(dynamicSMemSize)), blockSizeLimit, 0);
35588# 2117
35589}
35590# 2147 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35591template< class T> static inline cudaError_t
35592# 2148
35593cudaOccupancyAvailableDynamicSMemPerBlock(size_t *
35594# 2149
35595dynamicSmemSize, T *
35596# 2150
35597func, int
35598# 2151
35599numBlocks, int
35600# 2152
35601blockSize)
35602# 2153
35603{
35604# 2154
35605return ::cudaOccupancyAvailableDynamicSMemPerBlock(dynamicSmemSize, (const void *)func, numBlocks, blockSize);
35606# 2155
35607}
35608# 2206 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35609template< class T> static inline cudaError_t
35610# 2207
35611cudaOccupancyMaxPotentialBlockSizeWithFlags(int *
35612# 2208
35613minGridSize, int *
35614# 2209
35615blockSize, T
35616# 2210
35617func, size_t
35618# 2211
35619dynamicSMemSize = 0, int
35620# 2212
35621blockSizeLimit = 0, unsigned
35622# 2213
35623flags = 0)
35624# 2214
35625{
35626# 2215
35627return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, ((__cudaOccupancyB2DHelper)(dynamicSMemSize)), blockSizeLimit, flags);
35628# 2216
35629}
35630# 2251 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35631template< class T> static inline cudaError_t
35632# 2252
35633cudaOccupancyMaxPotentialClusterSize(int *
35634# 2253
35635clusterSize, T *
35636# 2254
35637func, const cudaLaunchConfig_t *
35638# 2255
35639config)
35640# 2256
35641{
35642# 2257
35643return ::cudaOccupancyMaxPotentialClusterSize(clusterSize, (const void *)func, config);
35644# 2258
35645}
35646# 2295 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35647template< class T> static inline cudaError_t
35648# 2296
35649cudaOccupancyMaxActiveClusters(int *
35650# 2297
35651numClusters, T *
35652# 2298
35653func, const cudaLaunchConfig_t *
35654# 2299
35655config)
35656# 2300
35657{
35658# 2301
35659return ::cudaOccupancyMaxActiveClusters(numClusters, (const void *)func, config);
35660# 2302
35661}
35662# 2336 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35663template< class T> inline cudaError_t
35664# 2337
35665cudaFuncGetAttributes(cudaFuncAttributes *
35666# 2338
35667attr, T *
35668# 2339
35669entry)
35670# 2341
35671{
35672# 2342
35673return ::cudaFuncGetAttributes(attr, (const void *)entry);
35674# 2343
35675}
35676# 2402 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35677template< class T> static inline cudaError_t
35678# 2403
35679cudaFuncSetAttribute(T *
35680# 2404
35681func, cudaFuncAttribute
35682# 2405
35683attr, int
35684# 2406
35685value)
35686# 2408
35687{
35688# 2409
35689return ::cudaFuncSetAttribute((const void *)func, attr, value);
35690# 2410
35691}
35692# 2435 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35693template< class T> static inline cudaError_t
35694# 2436
35695cudaFuncGetName(const char **
35696# 2437
35697name, T *
35698# 2438
35699func)
35700# 2440
35701{
35702# 2441
35703return ::cudaFuncGetName(name, (const void *)func);
35704# 2442
35705}
35706# 2458 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35707template< class T> static inline cudaError_t
35708# 2459
35709cudaGetKernel(cudaKernel_t *
35710# 2460
35711kernelPtr, T *
35712# 2461
35713func)
35714# 2463
35715{
35716# 2464
35717return ::cudaGetKernel(kernelPtr, (const void *)func);
35718# 2465
35719}
35720# 2496 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35721template< class T> static inline cudaError_t
35722# 2497
35723cudaLibraryGetGlobal(T **dptr, size_t *bytes, cudaLibrary_t library, const char *name)
35724# 2498
35725{
35726# 2499
35727return ::cudaLibraryGetGlobal((void **)((void *)dptr), bytes, library, name);
35728# 2500
35729}
35730# 2530 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35731template< class T> static inline cudaError_t
35732# 2531
35733cudaLibraryGetManaged(T **dptr, size_t *bytes, cudaLibrary_t library, const char *name)
35734# 2532
35735{
35736# 2533
35737return ::cudaLibraryGetManaged((void **)((void *)dptr), bytes, library, name);
35738# 2534
35739}
35740# 2560 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35741template< class T> static inline cudaError_t
35742# 2561
35743cudaLibraryGetUnifiedFunction(T **fptr, cudaLibrary_t library, const char *symbol)
35744# 2562
35745{
35746# 2563
35747return ::cudaLibraryGetUnifiedFunction((void **)((void *)fptr), library, symbol);
35748# 2564
35749}
35750# 2576 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h"
35751#pragma GCC diagnostic pop
35752# 64 "CMakeCUDACompilerId.cu"
35753const char *info_compiler = ("INFO:compiler[NVIDIA]");
35754# 66
35755const char *info_simulate = ("INFO:simulate[GNU]");
35756# 369 "CMakeCUDACompilerId.cu"
35757const char info_version[] = {'I', 'N', 'F', 'O', ':', 'c', 'o', 'm', 'p', 'i', 'l', 'e', 'r', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '[', (('0') + ((12 / 10000000) % 10)), (('0') + ((12 / 1000000) % 10)), (('0') + ((12 / 100000) % 10)), (('0') + ((12 / 10000) % 10)), (('0') + ((12 / 1000) % 10)), (('0') + ((12 / 100) % 10)), (('0') + ((12 / 10) % 10)), (('0') + (12 % 10)), '.', (('0') + ((8 / 10000000) % 10)), (('0') + ((8 / 1000000) % 10)), (('0') + ((8 / 100000) % 10)), (('0') + ((8 / 10000) % 10)), (('0') + ((8 / 1000) % 10)), (('0') + ((8 / 100) % 10)), (('0') + ((8 / 10) % 10)), (('0') + (8 % 10)), '.', (('0') + ((93 / 10000000) % 10)), (('0') + ((93 / 1000000) % 10)), (('0') + ((93 / 100000) % 10)), (('0') + ((93 / 10000) % 10)), (('0') + ((93 / 1000) % 10)), (('0') + ((93 / 100) % 10)), (('0') + ((93 / 10) % 10)), (('0') + (93 % 10)), ']', '\000'};
35758# 398 "CMakeCUDACompilerId.cu"
35759const char info_simulate_version[] = {'I', 'N', 'F', 'O', ':', 's', 'i', 'm', 'u', 'l', 'a', 't', 'e', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '[', (('0') + ((13 / 10000000) % 10)), (('0') + ((13 / 1000000) % 10)), (('0') + ((13 / 100000) % 10)), (('0') + ((13 / 10000) % 10)), (('0') + ((13 / 1000) % 10)), (('0') + ((13 / 100) % 10)), (('0') + ((13 / 10) % 10)), (('0') + (13 % 10)), '.', (('0') + ((3 / 10000000) % 10)), (('0') + ((3 / 1000000) % 10)), (('0') + ((3 / 100000) % 10)), (('0') + ((3 / 10000) % 10)), (('0') + ((3 / 1000) % 10)), (('0') + ((3 / 100) % 10)), (('0') + ((3 / 10) % 10)), (('0') + (3 % 10)), ']', '\000'};
35760# 418
35761const char *info_platform = ("INFO:platform[Linux]");
35762# 419
35763const char *info_arch = ("INFO:arch[]");
35764# 423
35765const char *info_language_standard_default = ("INFO:standard_default[17]");
35766# 439
35767const char *info_language_extensions_default = ("INFO:extensions_default[ON]");
35768# 450
35769int main(int argc, char *argv[])
35770# 451
35771{
35772# 452
35773int require = 0;
35774# 453
35775require += (info_compiler[argc]);
35776# 454
35777require += (info_platform[argc]);
35778# 456
35779require += (info_version[argc]);
35780# 459
35781require += (info_simulate[argc]);
35782# 462
35783require += (info_simulate_version[argc]);
35784# 464
35785require += (info_language_standard_default[argc]);
35786# 465
35787require += (info_language_extensions_default[argc]);
35788# 466
35789(void)argv;
35790# 467
35791return require;
35792# 468
35793}
35794
35795# 1 "CMakeCUDACompilerId.cudafe1.stub.c"
35796#define _NV_ANON_NAMESPACE _GLOBAL__N__4d2e02b9_22_CMakeCUDACompilerId_cu_bd57c623
35797#ifdef _NV_ANON_NAMESPACE
35798#endif
35799# 1 "CMakeCUDACompilerId.cudafe1.stub.c"
35800#include "CMakeCUDACompilerId.cudafe1.stub.c"
35801# 1 "CMakeCUDACompilerId.cudafe1.stub.c"
35802#undef _NV_ANON_NAMESPACE
int isspace(int) noexcept(true)
unsigned long __ino64_t
int isctype(int __c, int __mask) noexcept(true)
int ispunct(int) noexcept(true)
unsigned long __uint64_t
int toascii(int __c) noexcept(true)
__uint32_t __uint_least32_t
int isblank_l(int, locale_t) noexcept(true)
__off64_t __loff_t
int isblank(int) noexcept(true)
__int64_t __int_least64_t
__int16_t __int_least16_t
unsigned long __ino_t
unsigned __socklen_t
unsigned char __uint8_t
int toupper_l(int __c, locale_t __l) noexcept(true)
unsigned short __uint16_t
int isprint_l(int, locale_t) noexcept(true)
int toupper(int __c) noexcept(true)
int iscntrl_l(int, locale_t) noexcept(true)
int iscntrl(int) noexcept(true)
int ispunct_l(int, locale_t) noexcept(true)
int __toupper_l(int __c, locale_t __l) noexcept(true)
int isdigit(int) noexcept(true)
const __int32_t ** __ctype_toupper_loc() noexcept(true) __attribute((const))
int isalpha(int) noexcept(true)
long __sysconf(int __name) noexcept(true)
int isalpha_l(int, locale_t) noexcept(true)
int isalnum(int) noexcept(true)
const unsigned short ** __ctype_b_loc() noexcept(true) __attribute((const))
__int32_t __int_least32_t
int isupper_l(int, locale_t) noexcept(true)
unsigned __uint32_t
int _toupper(int) noexcept(true)
unsigned long __fsblkcnt64_t
unsigned long __uintmax_t
unsigned short __u_short
unsigned long __syscall_ulong_t
int isgraph_l(int, locale_t) noexcept(true)
unsigned long __dev_t
__uint64_t __uint_least64_t
int isxdigit_l(int, locale_t) noexcept(true)
__uint8_t __uint_least8_t
int _tolower(int) noexcept(true)
__int8_t __int_least8_t
int __tolower_l(int __c, locale_t __l) noexcept(true)
int tolower_l(int __c, locale_t __l) noexcept(true)
unsigned long __rlim64_t
int isupper(int) noexcept(true)
const __int32_t ** __ctype_tolower_loc() noexcept(true) __attribute((const))
__uint16_t __uint_least16_t
int isxdigit(int) noexcept(true)
unsigned long __fsfilcnt64_t
unsigned long __u_quad_t
int isdigit_l(int, locale_t) noexcept(true)
unsigned char __u_char
unsigned long __fsblkcnt_t
__locale_t locale_t
unsigned long size_t
unsigned long __u_long
signed char __int8_t
typedef __decltype((nullptr)) nullptr_t
signed short __int16_t
signed int __int32_t
unsigned long __fsfilcnt_t
int isalnum_l(int, locale_t) noexcept(true)
int islower(int) noexcept(true)
int isascii(int __c) noexcept(true)
__locale_struct * __locale_t
int isprint(int) noexcept(true)
int isspace_l(int, locale_t) noexcept(true)
unsigned long __nlink_t
unsigned __useconds_t
unsigned __mode_t
unsigned long __rlim_t
signed long __int64_t
int islower_l(int, locale_t) noexcept(true)
int tolower(int __c) noexcept(true)
int isgraph(int) noexcept(true)
int main(int argc, char *argv[])
const char * info_language_extensions_default
char const * info_platform
const char * info_language_standard_default
char const * info_compiler
char const * info_arch
TFloat shift(const TFloat x, const TFloat o)
Shift a value.
const unsigned short * __ctype_b
struct __locale_data * __locales[13]
long long __max_align_ll __attribute((__aligned__(__alignof__(long long))))
long double __max_align_ld __attribute((__aligned__(__alignof__(long double))))